constraint
'c =
< visit_'exp : 'env -> exp -> exp
; visit_'fml : 'env -> fml -> fml
; visit_'iexp : 'env -> iexp -> iexp
; visit_Add : 'env -> ibinop
; visit_All : 'env -> quant
; visit_And : 'env -> lbinop
; visit_Block : 'env -> fml list -> (fml, exp, iexp) ofml
; visit_Card : 'env -> exp -> (fml, exp, iexp) oiexp
; visit_Compr :
'env ->
(bool * int * exp) list ->
fml list ->
(fml, exp, iexp) prim_oexp
; visit_Diff : 'env -> rbinop
; visit_F : 'env -> lunop
; visit_FIte : 'env -> fml -> fml -> fml -> (fml, exp, iexp) ofml
; visit_False : 'env -> (fml, exp, iexp) ofml
; visit_G : 'env -> lunop
; visit_Gt : 'env -> icomp_op
; visit_Gte : 'env -> icomp_op
; visit_H : 'env -> lunop
; visit_IBin : 'env -> iexp -> ibinop -> iexp -> (fml, exp, iexp) oiexp
; visit_IComp : 'env -> iexp -> icomp_op -> iexp -> (fml, exp, iexp) ofml
; visit_IEq : 'env -> icomp_op
; visit_INEq : 'env -> icomp_op
; visit_IUn : 'env -> iunop -> iexp -> (fml, exp, iexp) oiexp
; visit_Iden : 'env -> (fml, exp, iexp) prim_oexp
; visit_Iff : 'env -> lbinop
; visit_Imp : 'env -> lbinop
; visit_In : 'env -> comp_op
; visit_Inter : 'env -> rbinop
; visit_Join : 'env -> rbinop
; visit_LBin : 'env -> fml -> lbinop -> fml -> (fml, exp, iexp) ofml
; visit_LProj : 'env -> rbinop
; visit_LUn : 'env -> lunop -> fml -> (fml, exp, iexp) ofml
; visit_Lt : 'env -> icomp_op
; visit_Lte : 'env -> icomp_op
; visit_Name : 'env -> Libelectrod.Name.t -> (fml, exp, iexp) prim_oexp
; visit_Neg : 'env -> iunop
; visit_No : 'env -> quant
; visit_None_ : 'env -> (fml, exp, iexp) prim_oexp
; visit_Not : 'env -> lunop
; visit_NotIn : 'env -> comp_op
; visit_Num : 'env -> int -> (fml, exp, iexp) oiexp
; visit_O : 'env -> lunop
; visit_Or : 'env -> lbinop
; visit_Over : 'env -> rbinop
; visit_P : 'env -> lunop
; visit_Prime : 'env -> exp -> (fml, exp, iexp) prim_oexp
; visit_Prod : 'env -> rbinop
; visit_Quant :
'env ->
quant ->
(bool * int * exp) ->
fml list ->
(fml, exp, iexp) ofml
; visit_R : 'env -> lbinop
; visit_RBin : 'env -> exp -> rbinop -> exp -> (fml, exp, iexp) prim_oexp
; visit_RComp : 'env -> exp -> comp_op -> exp -> (fml, exp, iexp) ofml
; visit_REq : 'env -> comp_op
; visit_RIte : 'env -> fml -> exp -> exp -> (fml, exp, iexp) prim_oexp
; visit_RNEq : 'env -> comp_op
; visit_RProj : 'env -> rbinop
; visit_RTClos : 'env -> runop
; visit_RUn : 'env -> runop -> exp -> (fml, exp, iexp) prim_oexp
; visit_S : 'env -> lbinop
; visit_Some_ : 'env -> quant
; visit_Sub : 'env -> ibinop
; visit_TClos : 'env -> runop
; visit_Transpose : 'env -> runop
; visit_True : 'env -> (fml, exp, iexp) ofml
; visit_U : 'env -> lbinop
; visit_Union : 'env -> rbinop
; visit_Univ : 'env -> (fml, exp, iexp) prim_oexp
; visit_Var : 'env -> int -> (fml, exp, iexp) prim_oexp
; visit_X : 'env -> lunop
; visit_comp_op : 'env -> comp_op -> comp_op
; visit_exp : 'env -> exp -> exp
; visit_fml : 'env -> fml -> fml
; visit_ibinop : 'env -> ibinop -> ibinop
; visit_icomp_op : 'env -> icomp_op -> icomp_op
; visit_iexp : 'env -> iexp -> iexp
; visit_iunop : 'env -> iunop -> iunop
; visit_lbinop : 'env -> lbinop -> lbinop
; visit_lunop : 'env -> lunop -> lunop
; visit_oexp : 'env -> (fml, exp, iexp) oexp -> (fml, exp, iexp) oexp
; visit_ofml : 'env -> (fml, exp, iexp) ofml -> (fml, exp, iexp) ofml
; visit_oiexp : 'env -> (fml, exp, iexp) oiexp -> (fml, exp, iexp) oiexp
; visit_prim_oexp :
'env ->
(fml, exp, iexp) prim_oexp ->
(fml, exp, iexp) prim_oexp
; visit_quant : 'env -> quant -> quant
; visit_rbinop : 'env -> rbinop -> rbinop
; visit_runop : 'env -> runop -> runop.. >method visit_'exp : 'env -> exp -> expmethod visit_'fml : 'env -> fml -> fmlmethod visit_'iexp : 'env -> iexp -> iexpmethod visit_Add : 'env -> ibinopmethod visit_All : 'env -> quantmethod visit_And : 'env -> lbinopmethod visit_Diff : 'env -> rbinopmethod visit_F : 'env -> lunopmethod visit_G : 'env -> lunopmethod visit_H : 'env -> lunopmethod visit_Iff : 'env -> lbinopmethod visit_Imp : 'env -> lbinopmethod visit_Inter : 'env -> rbinopmethod visit_Join : 'env -> rbinopmethod visit_LProj : 'env -> rbinopmethod visit_Neg : 'env -> iunopmethod visit_No : 'env -> quantmethod visit_Not : 'env -> lunopmethod visit_NotIn : 'env -> comp_opmethod visit_O : 'env -> lunopmethod visit_Or : 'env -> lbinopmethod visit_Over : 'env -> rbinopmethod visit_P : 'env -> lunopmethod visit_Prod : 'env -> rbinopmethod visit_R : 'env -> lbinopmethod visit_RNEq : 'env -> comp_opmethod visit_RProj : 'env -> rbinopmethod visit_RTClos : 'env -> runopmethod visit_S : 'env -> lbinopmethod visit_Some_ : 'env -> quantmethod visit_Sub : 'env -> ibinopmethod visit_TClos : 'env -> runopmethod visit_Transpose : 'env -> runopmethod visit_U : 'env -> lbinopmethod visit_Union : 'env -> rbinopmethod visit_X : 'env -> lunopmethod private visit_array : 'env 'a 'b. ('env -> 'a -> 'b) ->
'env ->
'a array ->
'b arraymethod private visit_bool : 'env. 'env -> bool -> boolmethod private visit_bytes : 'env. 'env -> bytes -> bytesmethod private visit_char : 'env. 'env -> char -> charmethod visit_exp : 'env -> exp -> expmethod private visit_float : 'env. 'env -> float -> floatmethod visit_fml : 'env -> fml -> fmlmethod visit_iexp : 'env -> iexp -> iexpmethod private visit_int : 'env. 'env -> int -> intmethod private visit_int32 : 'env. 'env -> int32 -> int32method private visit_int64 : 'env. 'env -> int64 -> int64method private visit_lazy_t : 'env 'a 'b. ('env -> 'a -> 'b) ->
'env ->
'a lazy_t ->
'b lazy_tmethod private visit_list : 'env 'a 'b. ('env -> 'a -> 'b) ->
'env ->
'a list ->
'b listmethod private visit_nativeint : 'env. 'env -> nativeint -> nativeintmethod private visit_option : 'env 'a 'b. ('env -> 'a -> 'b) ->
'env ->
'a option ->
'b optionmethod private visit_ref : 'env 'a 'b. ('env -> 'a -> 'b) ->
'env ->
'a ref ->
'b refmethod private visit_result : 'env 'a 'b 'e 'f. ('env -> 'a -> 'b) ->
('env -> 'e -> 'f) ->
'env ->
('a, 'e) result ->
('b, 'f) resultmethod private visit_string : 'env. 'env -> string -> stringmethod private visit_unit : 'env. 'env -> unit -> unit