module type FUNCTOR = sig .. end
sig
end
type +'a t
+'a
val map : ('a -> 'b) -> 'a t -> 'b t
('a -> 'b) -> 'a t -> 'b t