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