`val names : string list`
`val dir : ('a t, Sort_dir.t) Fieldslib.Field.t`
`val column : ('a t, 'a) Fieldslib.Field.t`
`val fold : init:'acc__0 ‑> column:('acc__0 ‑> ('a t, 'a) Fieldslib.Field.t ‑> 'acc__1) ‑> dir:('acc__1 ‑> ('a t, Sort_dir.t) Fieldslib.Field.t ‑> 'acc__2) ‑> 'acc__2`
`val make_creator : column:(('a t, 'a) Fieldslib.Field.t ‑> 'acc__0 ‑> ('input__ ‑> 'a) * 'acc__1) ‑> dir:(('a t, Sort_dir.t) Fieldslib.Field.t ‑> 'acc__1 ‑> ('input__ ‑> Sort_dir.t) * 'acc__2) ‑> 'acc__0 ‑> ('input__ ‑> 'a t) * 'acc__2`
`val create : column:'a ‑> dir:Sort_dir.t ‑> 'a t`
`val map : column:(('a t, 'a) Fieldslib.Field.t ‑> 'a) ‑> dir:(('a t, Sort_dir.t) Fieldslib.Field.t ‑> Sort_dir.t) ‑> 'a t`
`val iter : column:(('a t, 'a) Fieldslib.Field.t ‑> unit) ‑> dir:(('a t, Sort_dir.t) Fieldslib.Field.t ‑> unit) ‑> unit`
`val for_all : column:(('a t, 'a) Fieldslib.Field.t ‑> bool) ‑> dir:(('a t, Sort_dir.t) Fieldslib.Field.t ‑> bool) ‑> bool`
`val exists : column:(('a t, 'a) Fieldslib.Field.t ‑> bool) ‑> dir:(('a t, Sort_dir.t) Fieldslib.Field.t ‑> bool) ‑> bool`
`val to_list : column:(('a t, 'a) Fieldslib.Field.t ‑> 'elem__) ‑> dir:(('a t, Sort_dir.t) Fieldslib.Field.t ‑> 'elem__) ‑> 'elem__ list`
`val map_poly : ([< `Read | `Set_and_create ], 'a t, 'x0) Fieldslib.Field.user ‑> 'x0 list`
`module Direct : sig ... end`