The point of Monad is composability. In the green category, T -> Monad<U> and U -> Monad<R> are not composable. flatMap turns a function of type T -> Monad<U> into a function of type Monad<T> -> Monad<U>, so that in the blue category, they become composable.