Abstracted monad laws, implemented identity monad