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