sig
  type (_, _) t
  val map :
    ('-> 'b) -> ('p, 'a) Functor.Basic2.t -> ('p, 'b) Functor.Basic2.t
end