Unlike Haskell, skilled infix operators (such as A.+or Option.>>=) are not infixes in SML. You must use them as unskilled, for example. either by opening the module, or by localizing it.
Btw, you probably want to define >>=as right-associative, i.e. to use infixr.
, SML , Haskell. , >>= lambdas, fn :
foo >>= (fn x => bar >>= (fn y => baz >>= (fn z => boo)))