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