Module Map.Adapt

Adapt a pre-existing Map module to make it iterator-aware

Parameters

module M : sig ... end

Signature

val to_iter : 'a M.t -> (M.key * 'a) iter
val of_iter : (M.key * 'a) iter -> 'a M.t
val keys : 'a M.t -> M.key iter
val values : 'a M.t -> 'a iter
val to_list : 'a M.t -> (M.key * 'a) list
val of_list : (M.key * 'a) list -> 'a M.t
val to_seq : 'a M.t -> (M.key * 'a) iter
val of_seq : (M.key * 'a) iter -> 'a M.t