`
So `unit` is a way to put something inside of a box.
* A bind operation (note the type):
 let bind m f = match m with None > None  Some n > f n;;
 val bind : 'a option > ('a > 'b option) > 'b option =

+ `let bind m f = match m with None > None  Some n > f n;;`
+
+ `val bind : 'a option > ('a > 'b option) > 'b option = `
`bind` takes two arguments (a monadic object and a function from
ordinary objects to monadic objects), and returns a monadic
@@ 77,7 +77,7 @@ that provides at least the following three elements:
Then the second argument uses `x` to compute a new monadic
value. Conceptually, then, we have
 let bind m f = (let x = unwrap m in f x);;
+ `let bind m f = (let x = unwrap m in f x);;`
The guts of the definition of the `bind` operation amount to
specifying how to unwrap the monadic object `m`. In the bind

2.11.0