# Module BatEnum.Monad

    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.