* Haskell also uses the operator `>>`, where `xx >> yy` means the same as `xx >>= \_ -> yy`. Juli8 provides this too.
-* In Haskell, one can generally just use plain `return` and `>>=` and the interpreter will infer what monad you must be talking about from the surrounding type constraints. In OCaml, you generally need to be specific about which monad you're using. So in these notes, when mutiple monads are on the table, we've defined operations as `reader_unit` and `reader_bind`, and so on. Or, using the Juli8 libraries, you will say things like this:
+* In Haskell, one can generally just use plain `return` and `>>=` and the interpreter will infer what monad you must be talking about from the surrounding type constraints. In OCaml, you generally need to be specific about which monad you're using. So in these notes, when mutiple monads are on the table, we've defined operations as `reader_mid` and `reader_bind`, and so on. Or, using the Juli8 libraries, you will say things like this:
Monad.List.(... >>= ...)