Module Interval_map

type 'a t
type key = int
val create : size:int -> 'a -> 'a t
val iter_between : size:int -> key -> 'a t -> (size:int -> key -> 'a -> unit) -> unit
val fold_between : size:int -> key -> 'a t -> 'b -> (size:int -> key -> 'a -> 'b -> 'b) -> 'b
val store : size:int -> key -> 'a t -> 'a -> 'a t
val get_size : 'a t -> int
val fold_on_diff : 'a t -> 'a t -> 'b -> (size:int -> key -> 'a -> 'a -> 'b -> 'b) -> 'b
val fold_on_diff3 : 'a t -> 'a t -> 'a t -> 'b -> (size:int -> key -> 'a -> 'a -> 'a -> 'b -> 'b) -> 'b
val subst_between : key -> size:int -> 'a t -> (size:int -> key -> 'a -> 'a) -> 'a t
module With_Extract (Value : sig ... end) : sig ... end