Two implementations of Identity monad