functor (Type : Lm_linear_set_sig.TypeSig) ->
sig
type elt = Type.t
type t = Type.t linear_set
type index = int
val empty : t
val singleton : elt -> t
val length : t -> int
val get : t -> index -> elt
val make : int -> elt -> t
val create : int -> elt -> t
val to_list : t -> elt list
val of_list : elt list -> t
val iter : (elt -> unit) -> t -> unit
val map : (elt -> elt) -> t -> t
val fold : ('a -> index -> elt -> 'a) -> 'a -> t -> 'a
val split : t -> index -> t * elt * t
val append : t -> elt -> t -> t
val append_list : t -> elt list -> t -> t
val concat : t -> t -> t
val lazy_apply : (elt -> elt) -> t -> t
val lazy_sub_map : (elt -> elt) -> t -> index -> index -> t
val mapi : (index -> elt -> elt) -> t -> t
val init : int -> (index -> elt) -> t
val collect : (elt, t) Lm_array_util.array_part list -> t
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
end