sig
  type 'a t
  val return : 'a -> 'a Applicative_intf.Basic.t
  val apply :
    ('a -> 'b) Applicative_intf.Basic.t ->
    'a Applicative_intf.Basic.t -> 'b Applicative_intf.Basic.t
  val map :
    [ `Custom of
        'a Applicative_intf.Basic.t ->
        f:('a -> 'b) -> 'b Applicative_intf.Basic.t
    | `Define_using_apply ]
end