val is_empty : 'a1 t -> boolval add : key -> 'a1 -> 'a1 t -> 'a1 tval remove : key -> 'a1 t -> 'a1 tval mem : key -> 'a1 t -> boolval find : key -> 'a1 t -> 'a1 optionval map : ('a1 -> 'a2) -> 'a1 t -> 'a2 tval mapi : (key -> 'a1 -> 'a2) -> 'a1 t -> 'a2 tval map2 : ('a1 option -> 'a2 option -> 'a3 option) -> 'a1 t -> 'a2 t -> 'a3 tval elements : 'a1 t -> (key * 'a1) listval fold : (key -> 'a1 -> 'a2 -> 'a2) -> 'a1 t -> 'a2 -> 'a2val equal : ('a1 -> 'a1 -> bool) -> 'a1 t -> 'a1 t -> bool