hsnewtype Identity a = Identity { runIdentity :: a } instance Monad Identity where return = Identity Identity x >>= f = f x
import Data.Functor.Identity
runIdentity