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 ) t

nil the empty argument list *

val cons : 'a future -> ( 'f, 'r ) t -> ( 'a -> 'f, 'r ) t

const arg t prepend an argument

val (@>) : 'a future -> ( 'f, 'r ) t -> ( 'a -> 'f, 'r ) t

@> infix operator for cons

val step : ( 'f1, 'r ) t -> f:( 'f2 -> 'f1 ) -> ( 'f2, 'r ) t

step t ~f transforms 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 applyN : 'f future -> ( 'f, 'r ) t -> 'r future

applyN f args applies function stored in future f to args

val mapN : f:'f -> ( 'f, 'r ) t -> 'r future

mapN ~f args applies function f to args