At one time, I thought I understood Monad. However, when I try to connect my understanding of code to the piece of theory, I found myself still not clear. So he
Is there anything in Haskell resembling the following type class? class Mergeable (f :: Type -> Type -> Type) where merge :: f a b -> f c d -> f (