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