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