Checking at Kleisli definition,
in Cats, and Functional and Reactive Domain Modelling
However I'm not yet able to graps the usefulness of it. If we talk about the case of composing Monadic function, as in function that return monad i.e. A => F[B], i don't see what it actually add to simply sequencing a chain of
flatMap[A, B](ma: F[A])(f: A => F[B]): F[B]
Indeed, being able to chain the above is similar to
If you have a function f: A => F[B] and another function g: B => F[C], where F is a monad, then you can compose them to get A => F[C]
What is it that i am not seeing that is the real added value of "Kleisli" ?