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