Add monad protocol and mdo bind return