sig
  type ('a, 'phantom) t
  val mem :
    ?equal:('-> '-> bool) ->
    ('a, 'b) Container.S1_phantom_invariant.t -> '-> bool
  val length : ('a, 'b) Container.S1_phantom_invariant.t -> int
  val is_empty : ('a, 'b) Container.S1_phantom_invariant.t -> bool
  val iter :
    ('a, 'b) Container.S1_phantom_invariant.t -> f:('-> unit) -> unit
  val fold :
    ('a, 'b) Container.S1_phantom_invariant.t ->
    init:'accum -> f:('accum -> '-> 'accum) -> 'accum
  val exists :
    ('a, 'b) Container.S1_phantom_invariant.t -> f:('-> bool) -> bool
  val for_all :
    ('a, 'b) Container.S1_phantom_invariant.t -> f:('-> bool) -> bool
  val count :
    ('a, 'b) Container.S1_phantom_invariant.t -> f:('-> bool) -> int
  val find :
    ('a, 'b) Container.S1_phantom_invariant.t -> f:('-> bool) -> 'a option
  val find_map :
    ('a, 'c) Container.S1_phantom_invariant.t ->
    f:('-> 'b option) -> 'b option
  val to_list : ('a, 'b) Container.S1_phantom_invariant.t -> 'a list
  val to_array : ('a, 'b) Container.S1_phantom_invariant.t -> 'a array
end