Module type Applicative_intf.Args2

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