instance Monoid w => Monad (MyWriter w) where left@(MyWriter w a) >>= f = merge left (f a) where merge (MyWriter w _) (MyWriter w' b) = MyWriter (w <> w') b