module Monad:sig
..end
The BatEnum Monad
This module provides everything needed for writing and executing computations in the BatEnum Monad.
type'a
m ='a BatEnum.t
The type of the BatEnum monad's elements, thus BatEnum.t
.
val return : 'a -> 'a m
This function puts a single value in the BatEnum monad, that is to say it creates an enumeration containing a single element.
val bind : 'a m -> ('a -> 'b m) -> 'b m
bind m f
takes the result of the monadic computation m, puts the f function in the monadic context passing it the result of m and then
returning a monadic result.