Monad laws - HaskellWiki