`val names : string list`
`val len : ([< `Read | `Set_and_create ], 'a t, int) Fieldslib.Field.t_with_perm`
`val values : ([< `Read | `Set_and_create ], 'a t, 'a array) Fieldslib.Field.t_with_perm`
`val make_creator : values:(([< `Read | `Set_and_create ], 'a t, 'a array) Fieldslib.Field.t_with_perm ‑> 'b ‑> ('c ‑> 'd array) * 'e) ‑> len:(([< `Read | `Set_and_create ], 'f t, int) Fieldslib.Field.t_with_perm ‑> 'e ‑> ('c ‑> int) * 'g) ‑> 'b ‑> ('c ‑> 'd t) * 'g`
`val create : values:'a array ‑> len:int ‑> 'a t`
`val map : values:(([< `Read | `Set_and_create ], 'a t, 'a array) Fieldslib.Field.t_with_perm ‑> 'b array) ‑> len:(([< `Read | `Set_and_create ], 'c t, int) Fieldslib.Field.t_with_perm ‑> int) ‑> 'b t`
`val iter : values:(([< `Read | `Set_and_create ], 'a t, 'a array) Fieldslib.Field.t_with_perm ‑> unit) ‑> len:(([< `Read | `Set_and_create ], 'b t, int) Fieldslib.Field.t_with_perm ‑> unit) ‑> unit`
`val fold : init:'a ‑> values:('a ‑> ([< `Read | `Set_and_create ], 'b t, 'b array) Fieldslib.Field.t_with_perm ‑> 'c) ‑> len:('c ‑> ([< `Read | `Set_and_create ], 'd t, int) Fieldslib.Field.t_with_perm ‑> 'e) ‑> 'e`
`val map_poly : ([< `Read | `Set_and_create ], 'a t, 'b) Fieldslib.Field.user ‑> 'b list`
`val for_all : values:(([< `Read | `Set_and_create ], 'a t, 'a array) Fieldslib.Field.t_with_perm ‑> bool) ‑> len:(([< `Read | `Set_and_create ], 'b t, int) Fieldslib.Field.t_with_perm ‑> bool) ‑> bool`
`val exists : values:(([< `Read | `Set_and_create ], 'a t, 'a array) Fieldslib.Field.t_with_perm ‑> bool) ‑> len:(([< `Read | `Set_and_create ], 'b t, int) Fieldslib.Field.t_with_perm ‑> bool) ‑> bool`
`val to_list : values:(([< `Read | `Set_and_create ], 'a t, 'a array) Fieldslib.Field.t_with_perm ‑> 'b) ‑> len:(([< `Read | `Set_and_create ], 'c t, int) Fieldslib.Field.t_with_perm ‑> 'b) ‑> 'b list`
`module Direct : sig ... end`