Module Bottom.Type

module Type: sig .. end

type 'a or_bottom = [ `Bottom | `Value of 'a ] 
val (>>-) : 'a or_bottom ->
('a -> 'b or_bottom) -> 'b or_bottom

This monad propagates the `Bottom value if needed.

val (>>-:) : 'a or_bottom -> ('a -> 'b) -> 'b or_bottom

Use this monad if the following function returns a simple value.