Add tests for monadic laws
Typo
added state monad implementation
added mlet implementation
rebase change