sig
  type 'a t
  val fmap : ('-> 'b) -> 'Functor.Functor.t -> 'Functor.Functor.t
end