函子 (Ord : OrderedType->
  sig
    类型 key = Ord.t
    类型 +!'a t
     empty : 'a t
     add : key -> '-> 'a t -> 'a t
     add_to_list : key -> '-> 'a list t -> 'a list t
     update : key -> ('a option -> 'a option) -> 'a t -> 'a t
     singleton : key -> '-> 'a t
     remove : key -> 'a t -> 'a t
     merge 
      (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> 'c t
     union : (key -> '-> '-> 'a option) -> 'a t -> 'a t -> 'a t
     cardinal : 'a t -> int
     bindings : 'a t -> (key * 'a) list
     min_binding : 'a t -> key * 'a
     min_binding_opt : 'a t -> (key * 'a) option
     max_binding : 'a t -> key * 'a
     max_binding_opt : 'a t -> (key * 'a) option
     choose : 'a t -> key * 'a
     choose_opt : 'a t -> (key * 'a) option
     find : key -> 'a t -> 'a
     find_opt : key -> 'a t -> 'a option
     find_first : (key -> bool) -> 'a t -> key * 'a
     find_first_opt : (key -> bool) -> 'a t -> (key * 'a) option
     find_last : (key -> bool) -> 'a t -> key * 'a
     find_last_opt : (key -> bool) -> 'a t -> (key * 'a) option
     iter : (key -> '-> unit) -> 'a t -> unit
     fold : (key -> '-> 'acc -> 'acc) -> 'a t -> 'acc -> 'acc
     map : ('-> 'b) -> 'a t -> 'b t
     mapi : (key -> '-> 'b) -> 'a t -> 'b t
     filter : (key -> '-> bool) -> 'a t -> 'a t
     filter_map : (key -> '-> 'b option) -> 'a t -> 'b t
     partition : (key -> '-> bool) -> 'a t -> 'a t * 'a t
     split : key -> 'a t -> 'a t * 'a option * 'a t
     is_empty : 'a t -> bool
     mem : key -> 'a t -> bool
     equal : ('-> '-> bool) -> 'a t -> 'a t -> bool
     compare : ('-> '-> int) -> 'a t -> 'a t -> int
     for_all : (key -> '-> bool) -> 'a t -> bool
     exists : (key -> '-> bool) -> 'a t -> bool
     to_list : 'a t -> (key * 'a) list
     of_list : (key * 'a) list -> 'a t
     to_seq : 'a t -> (key * 'a) Seq.t
     to_rev_seq : 'a t -> (key * 'a) Seq.t
     to_seq_from : key -> 'a t -> (key * 'a) Seq.t
     add_seq : (key * 'a) Seq.t -> 'a t -> 'a t
     of_seq : (key * 'a) Seq.t -> 'a t
  end