functor (E : Elt->   sig     type t     val size : Indexer.Make.t -> int     val mem : E.t -> Indexer.Make.t -> bool     val get : int -> Indexer.Make.t -> E.t     val index : E.t -> Indexer.Make.t -> int     val is_empty : Indexer.Make.t -> bool     val empty : Indexer.Make.t     val add : E.t -> Indexer.Make.t -> Indexer.Make.t     val remove : E.t -> Indexer.Make.t -> Indexer.Make.t     val filter : (E.t -> bool) -> Indexer.Make.t -> Indexer.Make.t     val update :       E.t option ->       E.t option -> Indexer.Make.t -> int * int * Indexer.Make.t     val iter : (E.t -> unit) -> Indexer.Make.t -> unit     val iteri : (int -> E.t -> unit) -> Indexer.Make.t -> unit   end