module type Args2 =sig
..end
type ('a, 'e)
arg
type ('f, 'r, 'e)
t
val nil : ('r, 'r, 'a) t
val cons : ('a, 'e) arg ->
('f, 'r, 'e) t ->
('a -> 'f, 'r, 'e) t
val (@>) : ('a, 'e) arg ->
('f, 'r, 'e) t ->
('a -> 'f, 'r, 'e) t
val step : ('f1, 'r, 'e) t ->
f:('f2 -> 'f1) -> ('f2, 'r, 'e) t
val mapN : f:'f ->
('f, 'r, 'e) t -> ('r, 'e) arg
val applyN : ('f, 'e) arg ->
('f, 'r, 'e) t -> ('r, 'e) arg