Optimise the List monad's implementation
Adding tmp_value
Adding list comprehension example
Adding tag support to tmp_value
Reduce preprocessor usage in Metamonad
Rename the tag dispatching metafunction defining macro
Fix documentation
Adding macro for metafunction definition
Refactoring the interface of the metafunction definition macros and adding metafunction class support
Make do_ and lazy compatible
Adding returns
Make lazy compatible with let, letrec and lambda
Change the metafunction definition macros and refactor code to use them
Change the implementation of LAZY_METAFUNCTION
Adding macros for defining variadic metafunctions
Support defining template classes as metafunction classes
Remove unused includes
Expect ; after MPLLIBS_TYPECLASS_EXPECT
Fixing documentation
Adding MonadPlus