Module Sch.Object

include module type of Free.Syntax
val (<*>) : ('a, 'b -> 'c) Free.t -> ('a, 'b) Free.t -> ('a, 'c) Free.t
val (let+) : ('a, 'b) Free.t -> ('b -> 'c) -> ('a, 'c) Free.t
val (and+) : ('a, 'b) Free.t -> ('a, 'c) Free.t -> ('a, 'b * 'c) Free.t
val inj : ('o, 'a) field -> ('a, 'o fieldk) Sig.app
val prj : ('a, 'o fieldk) Sig.app -> ('o, 'a) field
val mem : ?doc:string -> ?default:'a -> ?omit:('a -> bool) -> ?enc:('b -> 'a) -> string -> 'a t -> ('b fieldk, 'a) Free.t
val mem_opt : ?doc:string -> ?enc:('a -> 'b option) -> string -> 'b t -> ('a fieldk, 'b option) Free.t
val define : ?kind:string -> ?doc:string -> ?unknown:unknown_handling -> ('a fieldk, 'a) Free.t -> 'a t