sig   val add : key:BatMap.S.key -> data:'a -> 'a BatMap.S.t -> 'a BatMap.S.t   val iter : f:(key:BatMap.S.key -> data:'a -> unit) -> 'a BatMap.S.t -> unit   val map : f:('a -> 'b) -> 'a BatMap.S.t -> 'b BatMap.S.t   val mapi :     f:(key:BatMap.S.key -> data:'a -> 'b) -> 'a BatMap.S.t -> 'b BatMap.S.t   val filterv : f:('a -> bool) -> 'a BatMap.S.t -> 'a BatMap.S.t   val filter :     f:(BatMap.S.key -> 'a -> bool) -> 'a BatMap.S.t -> 'a BatMap.S.t   val fold :     f:(key:BatMap.S.key -> data:'a -> 'b -> 'b) ->     'a BatMap.S.t -> init:'b -> 'b   val compare :     cmp:('a -> 'a -> int) -> 'a BatMap.S.t -> 'a BatMap.S.t -> int   val equal :     cmp:('a -> 'a -> bool) -> 'a BatMap.S.t -> 'a BatMap.S.t -> bool end