implementing a Kleisli composition on monad