`val names : string list`
`val right : ('a t, 'a) Fieldslib.Field.t`
`val bottom : ('a t, 'a) Fieldslib.Field.t`
`val left : ('a t, 'a) Fieldslib.Field.t`
`val top : ('a t, 'a) Fieldslib.Field.t`
`val fold : init:'acc__0 ‑> top:('acc__0 ‑> ('a t, 'a) Fieldslib.Field.t ‑> 'acc__1) ‑> left:('acc__1 ‑> ('a t, 'a) Fieldslib.Field.t ‑> 'acc__2) ‑> bottom:('acc__2 ‑> ('a t, 'a) Fieldslib.Field.t ‑> 'acc__3) ‑> right:('acc__3 ‑> ('a t, 'a) Fieldslib.Field.t ‑> 'acc__4) ‑> 'acc__4`
`val make_creator : top:(('a t, 'a) Fieldslib.Field.t ‑> 'acc__0 ‑> ('input__ ‑> 'a) * 'acc__1) ‑> left:(('a t, 'a) Fieldslib.Field.t ‑> 'acc__1 ‑> ('input__ ‑> 'a) * 'acc__2) ‑> bottom:(('a t, 'a) Fieldslib.Field.t ‑> 'acc__2 ‑> ('input__ ‑> 'a) * 'acc__3) ‑> right:(('a t, 'a) Fieldslib.Field.t ‑> 'acc__3 ‑> ('input__ ‑> 'a) * 'acc__4) ‑> 'acc__0 ‑> ('input__ ‑> 'a t) * 'acc__4`
`val create : top:'a ‑> left:'a ‑> bottom:'a ‑> right:'a ‑> 'a t`
`val map : top:(('a t, 'a) Fieldslib.Field.t ‑> 'a) ‑> left:(('a t, 'a) Fieldslib.Field.t ‑> 'a) ‑> bottom:(('a t, 'a) Fieldslib.Field.t ‑> 'a) ‑> right:(('a t, 'a) Fieldslib.Field.t ‑> 'a) ‑> 'a t`
`val iter : top:(('a t, 'a) Fieldslib.Field.t ‑> unit) ‑> left:(('a t, 'a) Fieldslib.Field.t ‑> unit) ‑> bottom:(('a t, 'a) Fieldslib.Field.t ‑> unit) ‑> right:(('a t, 'a) Fieldslib.Field.t ‑> unit) ‑> unit`
`val for_all : top:(('a t, 'a) Fieldslib.Field.t ‑> bool) ‑> left:(('a t, 'a) Fieldslib.Field.t ‑> bool) ‑> bottom:(('a t, 'a) Fieldslib.Field.t ‑> bool) ‑> right:(('a t, 'a) Fieldslib.Field.t ‑> bool) ‑> bool`
`val exists : top:(('a t, 'a) Fieldslib.Field.t ‑> bool) ‑> left:(('a t, 'a) Fieldslib.Field.t ‑> bool) ‑> bottom:(('a t, 'a) Fieldslib.Field.t ‑> bool) ‑> right:(('a t, 'a) Fieldslib.Field.t ‑> bool) ‑> bool`
`val to_list : top:(('a t, 'a) Fieldslib.Field.t ‑> 'elem__) ‑> left:(('a t, 'a) Fieldslib.Field.t ‑> 'elem__) ‑> bottom:(('a t, 'a) Fieldslib.Field.t ‑> 'elem__) ‑> right:(('a t, 'a) 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`