sig moduletypeOrderedType = sig type t val compare : Map.OrderedType.t ->Map.OrderedType.t -> int end moduletypeS = sig type key and +'a t val empty : 'a Map.S.t val add : Map.S.key ->'a ->'a Map.S.t ->'a Map.S.t val find : Map.S.key ->'a Map.S.t ->'a val remove : Map.S.key ->'a Map.S.t ->'a Map.S.t val mem : Map.S.key ->'a Map.S.t -> bool val iter : (Map.S.key ->'a -> unit) ->'a Map.S.t -> unit val map : ('a ->'b) ->'a Map.S.t ->'b Map.S.t val mapi : (Map.S.key ->'a ->'b) ->'a Map.S.t ->'b Map.S.t val fold : (Map.S.key ->'a ->'b ->'b) ->'a Map.S.t ->'b ->'b end moduleMake : functor (Ord : OrderedType) -> sig type key = Ord.t and +'a t val empty : 'a Map.S.t val add : Map.S.key ->'a ->'a Map.S.t ->'a Map.S.t val find : Map.S.key ->'a Map.S.t ->'a val remove : Map.S.key ->'a Map.S.t ->'a Map.S.t val mem : Map.S.key ->'a Map.S.t -> bool val iter : (Map.S.key ->'a -> unit) ->'a Map.S.t -> unit val map : ('a ->'b) ->'a Map.S.t ->'b Map.S.t val mapi : (Map.S.key ->'a ->'b) ->'a Map.S.t ->'b Map.S.t val fold : (Map.S.key ->'a ->'b ->'b) ->'a Map.S.t ->'b ->'b end