functor (V : Vector) ->
sig
type atom = V.atom
type t = V.t
val length : t -> int
val set : t -> int -> atom -> t
val get : t -> int -> atom
val insert : t -> int -> atom -> t
val delete : t -> int -> t
type patch
val diff : t -> t -> patch
val apply : t -> patch -> t
val merge : resolve:(atom -> atom -> atom) -> ancestor:t -> t -> t -> t
end