Parameters
Signature
type 'a argthe underlying applicative
type ('f, 'r) t'f is the type of a function that consumes the list of arguments and returns an 'r.
val nil : ('r, 'r) tthe empty argument list *
val cons : 'a arg -> ('f, 'r) t -> ('a -> 'f, 'r) tprepend an argument
val (@>) : 'a arg -> ('f, 'r) t -> ('a -> 'f, 'r) tinfix operator for cons
val step : ('f1, 'r) t -> f:('f2 -> 'f1) -> ('f2, 'r) tTransform argument values in some way. For example, one can label a function argument like so:
step ~f:(fun f x -> f ~foo:x) : ('a -> 'r1, 'r2) t -> (foo:'a -> 'r1, 'r2) t
val mapN : f:'f -> ('f, 'r) t -> 'r argval applyN : 'f arg -> ('f, 'r) t -> 'r arg