OCaml record field.
module For_generated_code : sig .. end
type ('perm, 'record, 'field) t = {
force_variance : 'perm -> unit;
name : string;
setter : ('record -> 'field -> unit) option;
getter : 'record -> 'field;
fset : 'record -> 'field -> 'record;
}
type ('perm, 'record, 'field) t_with_perm = 
|Field of ('perm, 'record, 'field) For_generated_code.t
type ('record, 'field) t = ([ `Read | `Set_and_create ], 'record, 'field) t_with_perm
type ('record, 'field) readonly_t = ([ `Read ], 'record, 'field) t_with_perm
val name : ('a, 'b, 'c) t_with_perm -> string
val get : ('b, 'r, 'a) t_with_perm -> 'r -> 'a
val fset : ([> `Set_and_create ], 'r, 'a) t_with_perm -> 'r -> 'a -> 'r
val setter : ([> `Set_and_create ], 'r, 'a) t_with_perm -> ('r -> 'a -> unit) option
type ('perm, 'record, 'result) user = {
f : 'field. ('perm, 'record, 'field) t_with_perm -> 'result;
}