Sch_freetype (_, _) aseq = | ANil : ('f, unit) aseq| ACons : ('a, 'f) Sch_sig.app * ('f, 'u) aseq -> ('f, 'a * 'u) aseqval reduce_aseq :
'f Sch_sig.applicative ->
('f, 'u) aseq ->
('u, 'f) Sch_sig.appval hoist_aseq : ('f, 'g) Sch_sig.nat -> ('f, 'a) aseq -> ('g, 'a) aseqval pure : 'a -> ('f, 'a) tval lift : ('a, 'f) Sch_sig.app -> ('f, 'a) tval hoist : ('f, 'g) Sch_sig.nat -> ('f, 'a) t -> ('g, 'a) tval retract : 'f Sch_sig.applicative -> ('f, 'a) t -> ('a, 'f) Sch_sig.appval run :
'g Sch_sig.applicative ->
('f, 'g) Sch_sig.nat ->
('f, 'a) t ->
('a, 'g) Sch_sig.appmodule Syntax : sig ... end