Module Ident.Lift

Lifts functions into the monad.

A function that operates on values can be mapped to a function that operates on computations. We provide several liftes for common arities.

val nullary : 'a -> 'a t

nullary x lifts x (a synonym to return)

val unary : ('a -> 'b) -> 'a t -> 'b t

unary f lifts f

val binary : ('a -> 'b -> 'c) -> 'a t -> 'b t -> 'c t

binary f lifts f

val ternary : ('a -> 'b -> 'c -> 'd) -> 'a t -> 'b t -> 'c t -> 'd t

ternary f lifts f

val quaternary : ('a -> 'b -> 'c -> 'd -> 'e) -> 'a t -> 'b t -> 'c t -> 'd t -> 'e t

quaternary f lifts f

val quinary : ('a -> 'b -> 'c -> 'd -> 'e -> 'f) -> 'a t -> 'b t -> 'c t -> 'd t -> 'e t -> 'f t

quinary f lifts f