sig
  type 'a f
  val map : ('-> 'b) -> 'Functor.Functor.f -> 'Functor.Functor.f
end