BatOption.Monad
This module provides everything needed to write and execute computations in the Option monad.
type 'a m = 'a option
The type of values in this monad : option
val return : 'a -> 'a m
return x puts a value in the Option monad, that is, returns Some x.
return x
Some x
val bind : 'a m -> ('a -> 'b m) -> 'b m
bind m f combines the calculation result m with the function f. E.g, in the Option monad : bind (Some 1) (fun x -> if x = 1 then Some 4 else None) returns Some 4.
bind m f
m
f
bind (Some 1) (fun x -> if x = 1 then Some 4 else None)