sig
type ('record, 'field) t = {
name : string;
setter : ('record -> 'field -> unit) option;
getter : 'record -> 'field;
fset : 'record -> 'field -> 'record;
}
val name : ('a, 'b) Field.t -> string
val get : ('r, 'a) Field.t -> 'r -> 'a
val fset : ('r, 'a) Field.t -> 'r -> 'a -> 'r
val setter : ('r, 'a) Field.t -> ('r -> 'a -> unit) option
type ('record, 'result) user = {
f : 'field. ('record, 'field) Field.t -> 'result;
}
end