val names : string listval type_ : ('a t, 'a Ecaml__.Import0.Value.Type.t) Fieldslib.Field.tval symbol : ('a t, Symbol.t) Fieldslib.Field.tval fold : init:'acc__0 -> symbol:('acc__0 -> ('a t, Symbol.t) Fieldslib.Field.t -> 'acc__1) -> type_:('acc__1 -> ('a t, 'a Ecaml__.Import0.Value.Type.t) Fieldslib.Field.t -> 'acc__2) -> 'acc__2val make_creator : symbol:(('a t, Symbol.t) Fieldslib.Field.t -> 'acc__0 -> ('input__ -> Symbol.t) * 'acc__1) -> type_:(('a t, 'a Ecaml__.Import0.Value.Type.t) Fieldslib.Field.t -> 'acc__1 -> ('input__ -> 'a Ecaml__.Import0.Value.Type.t) * 'acc__2) -> 'acc__0 -> ('input__ -> 'a t) * 'acc__2val create : symbol:Symbol.t -> type_:'a Ecaml__.Import0.Value.Type.t -> 'a tval map : symbol:(('a t, Symbol.t) Fieldslib.Field.t -> Symbol.t) -> type_:(('a t, 'a Ecaml__.Import0.Value.Type.t) Fieldslib.Field.t -> 'a Ecaml__.Import0.Value.Type.t) -> 'a tval iter : symbol:(('a t, Symbol.t) Fieldslib.Field.t -> unit) -> type_:(('a t, 'a Ecaml__.Import0.Value.Type.t) Fieldslib.Field.t -> unit) -> unitval for_all : symbol:(('a t, Symbol.t) Fieldslib.Field.t -> bool) -> type_:(('a t, 'a Ecaml__.Import0.Value.Type.t) Fieldslib.Field.t -> bool) -> boolval exists : symbol:(('a t, Symbol.t) Fieldslib.Field.t -> bool) -> type_:(('a t, 'a Ecaml__.Import0.Value.Type.t) Fieldslib.Field.t -> bool) -> boolval to_list : symbol:(('a t, Symbol.t) Fieldslib.Field.t -> 'elem__) -> type_:(('a t, 'a Ecaml__.Import0.Value.Type.t) Fieldslib.Field.t -> 'elem__) -> 'elem__ listval map_poly : ([< `Read | `Set_and_create ], 'a t, 'x0) Fieldslib.Field.user -> 'x0 list