After reading some very basic haskell now I know how to \"chain\" monadic actions using bind, like:
echo = getLine >>= putStrLn
It's much easier to use do notation for this, rather than asking for a combinator
do
action1 :: MyMonad a action2 :: MyMonad b f :: a -> b -> MyMonad c do x <- action1 y <- action2 f x y