constraint
'c =
< build_Add : 'env -> 'g
; build_All : 'env -> 'h
; build_And : 'env -> 'i
; build_Block : 'env -> 'j list -> 'j
; build_Card : 'env -> 'k -> 'l
; build_Compr : 'env -> (bool * int * 'k) list -> 'j list -> 'm
; build_Diff : 'env -> 'n
; build_F : 'env -> 'o
; build_FIte : 'env -> 'j -> 'j -> 'j -> 'j
; build_False : 'env -> 'j
; build_G : 'env -> 'o
; build_Gt : 'env -> 'p
; build_Gte : 'env -> 'p
; build_H : 'env -> 'o
; build_IBin : 'env -> 'l -> 'g -> 'l -> 'l
; build_IComp : 'env -> 'l -> 'p -> 'l -> 'j
; build_IEq : 'env -> 'p
; build_INEq : 'env -> 'p
; build_IUn : 'env -> 'q -> 'l -> 'l
; build_Iden : 'env -> 'm
; build_Iff : 'env -> 'i
; build_Imp : 'env -> 'i
; build_In : 'env -> 'r
; build_Inter : 'env -> 'n
; build_Join : 'env -> 'n
; build_LBin : 'env -> 'j -> 'i -> 'j -> 'j
; build_LProj : 'env -> 'n
; build_LUn : 'env -> 'o -> 'j -> 'j
; build_Lt : 'env -> 'p
; build_Lte : 'env -> 'p
; build_Name : 'env -> Libelectrod.Name.t -> 'm
; build_Neg : 'env -> 'q
; build_No : 'env -> 'h
; build_None_ : 'env -> 'm
; build_Not : 'env -> 'o
; build_NotIn : 'env -> 'r
; build_Num : 'env -> int -> 'l
; build_O : 'env -> 'o
; build_Or : 'env -> 'i
; build_Over : 'env -> 'n
; build_P : 'env -> 'o
; build_Prime : 'env -> 'k -> 'm
; build_Prod : 'env -> 'n
; build_Quant : 'env -> 'h -> (bool * int * 'k) -> 'j list -> 'j
; build_R : 'env -> 'i
; build_RBin : 'env -> 'k -> 'n -> 'k -> 'm
; build_RComp : 'env -> 'k -> 'r -> 'k -> 'j
; build_REq : 'env -> 'r
; build_RIte : 'env -> 'j -> 'k -> 'k -> 'm
; build_RNEq : 'env -> 'r
; build_RProj : 'env -> 'n
; build_RTClos : 'env -> 's
; build_RUn : 'env -> 's -> 'k -> 'm
; build_S : 'env -> 'i
; build_Some_ : 'env -> 'h
; build_Sub : 'env -> 'g
; build_TClos : 'env -> 's
; build_Transpose : 'env -> 's
; build_True : 'env -> 'j
; build_U : 'env -> 'i
; build_Union : 'env -> 'n
; build_Univ : 'env -> 'm
; build_Var : 'env -> int -> 'm
; build_X : 'env -> 'o
; build_oexp : 'env -> 'm -> int -> 'k
; visit_'exp : 'env -> exp -> 'k
; visit_'fml : 'env -> fml -> 'j
; visit_'iexp : 'env -> iexp -> 'l
; visit_Add : 'env -> 'g
; visit_All : 'env -> 'h
; visit_And : 'env -> 'i
; visit_Block : 'env -> fml list -> 'j
; visit_Card : 'env -> exp -> 'l
; visit_Compr : 'env -> (bool * int * exp) list -> fml list -> 'm
; visit_Diff : 'env -> 'n
; visit_F : 'env -> 'o
; visit_FIte : 'env -> fml -> fml -> fml -> 'j
; visit_False : 'env -> 'j
; visit_G : 'env -> 'o
; visit_Gt : 'env -> 'p
; visit_Gte : 'env -> 'p
; visit_H : 'env -> 'o
; visit_IBin : 'env -> iexp -> ibinop -> iexp -> 'l
; visit_IComp : 'env -> iexp -> icomp_op -> iexp -> 'j
; visit_IEq : 'env -> 'p
; visit_INEq : 'env -> 'p
; visit_IUn : 'env -> iunop -> iexp -> 'l
; visit_Iden : 'env -> 'm
; visit_Iff : 'env -> 'i
; visit_Imp : 'env -> 'i
; visit_In : 'env -> 'r
; visit_Inter : 'env -> 'n
; visit_Join : 'env -> 'n
; visit_LBin : 'env -> fml -> lbinop -> fml -> 'j
; visit_LProj : 'env -> 'n
; visit_LUn : 'env -> lunop -> fml -> 'j
; visit_Lt : 'env -> 'p
; visit_Lte : 'env -> 'p
; visit_Name : 'env -> Libelectrod.Name.t -> 'm
; visit_Neg : 'env -> 'q
; visit_No : 'env -> 'h
; visit_None_ : 'env -> 'm
; visit_Not : 'env -> 'o
; visit_NotIn : 'env -> 'r
; visit_Num : 'env -> int -> 'l
; visit_O : 'env -> 'o
; visit_Or : 'env -> 'i
; visit_Over : 'env -> 'n
; visit_P : 'env -> 'o
; visit_Prime : 'env -> exp -> 'm
; visit_Prod : 'env -> 'n
; visit_Quant : 'env -> quant -> (bool * int * exp) -> fml list -> 'j
; visit_R : 'env -> 'i
; visit_RBin : 'env -> exp -> rbinop -> exp -> 'm
; visit_RComp : 'env -> exp -> comp_op -> exp -> 'j
; visit_REq : 'env -> 'r
; visit_RIte : 'env -> fml -> exp -> exp -> 'm
; visit_RNEq : 'env -> 'r
; visit_RProj : 'env -> 'n
; visit_RTClos : 'env -> 's
; visit_RUn : 'env -> runop -> exp -> 'm
; visit_S : 'env -> 'i
; visit_Some_ : 'env -> 'h
; visit_Sub : 'env -> 'g
; visit_TClos : 'env -> 's
; visit_Transpose : 'env -> 's
; visit_True : 'env -> 'j
; visit_U : 'env -> 'i
; visit_Union : 'env -> 'n
; visit_Univ : 'env -> 'm
; visit_Var : 'env -> int -> 'm
; visit_X : 'env -> 'o
; visit_comp_op : 'env -> comp_op -> 'r
; visit_exp : 'env -> exp -> 'k
; visit_fml : 'env -> fml -> 'j
; visit_ibinop : 'env -> ibinop -> 'g
; visit_icomp_op : 'env -> icomp_op -> 'p
; visit_iexp : 'env -> iexp -> 'l
; visit_iunop : 'env -> iunop -> 'q
; visit_lbinop : 'env -> lbinop -> 'i
; visit_lunop : 'env -> lunop -> 'o
; visit_oexp : 'env -> (fml, exp, iexp) oexp -> 'k
; visit_ofml : 'env -> (fml, exp, iexp) ofml -> 'j
; visit_oiexp : 'env -> (fml, exp, iexp) oiexp -> 'l
; visit_prim_oexp : 'env -> (fml, exp, iexp) prim_oexp -> 'm
; visit_quant : 'env -> quant -> 'h
; visit_rbinop : 'env -> rbinop -> 'n
; visit_runop : 'env -> runop -> 's.. >method virtual build_Add : 'env -> 'gmethod virtual build_All : 'env -> 'hmethod virtual build_And : 'env -> 'imethod virtual build_Block : 'env -> 'j list -> 'jmethod virtual build_Card : 'env -> 'k -> 'lmethod virtual build_Compr : 'env -> (bool * int * 'k) list -> 'j list -> 'mmethod virtual build_Diff : 'env -> 'nmethod virtual build_F : 'env -> 'omethod virtual build_FIte : 'env -> 'j -> 'j -> 'j -> 'jmethod virtual build_False : 'env -> 'jmethod virtual build_G : 'env -> 'omethod virtual build_Gt : 'env -> 'pmethod virtual build_Gte : 'env -> 'pmethod virtual build_H : 'env -> 'omethod virtual build_IBin : 'env -> 'l -> 'g -> 'l -> 'lmethod virtual build_IComp : 'env -> 'l -> 'p -> 'l -> 'jmethod virtual build_IEq : 'env -> 'pmethod virtual build_INEq : 'env -> 'pmethod virtual build_IUn : 'env -> 'q -> 'l -> 'lmethod virtual build_Iden : 'env -> 'mmethod virtual build_Iff : 'env -> 'imethod virtual build_Imp : 'env -> 'imethod virtual build_In : 'env -> 'rmethod virtual build_Inter : 'env -> 'nmethod virtual build_Join : 'env -> 'nmethod virtual build_LBin : 'env -> 'j -> 'i -> 'j -> 'jmethod virtual build_LProj : 'env -> 'nmethod virtual build_LUn : 'env -> 'o -> 'j -> 'jmethod virtual build_Lt : 'env -> 'pmethod virtual build_Lte : 'env -> 'pmethod virtual build_Neg : 'env -> 'qmethod virtual build_No : 'env -> 'hmethod virtual build_None_ : 'env -> 'mmethod virtual build_Not : 'env -> 'omethod virtual build_NotIn : 'env -> 'rmethod virtual build_Num : 'env -> int -> 'lmethod virtual build_O : 'env -> 'omethod virtual build_Or : 'env -> 'imethod virtual build_Over : 'env -> 'nmethod virtual build_P : 'env -> 'omethod virtual build_Prime : 'env -> 'k -> 'mmethod virtual build_Prod : 'env -> 'nmethod virtual build_Quant : 'env -> 'h -> (bool * int * 'k) -> 'j list -> 'jmethod virtual build_R : 'env -> 'imethod virtual build_RBin : 'env -> 'k -> 'n -> 'k -> 'mmethod virtual build_RComp : 'env -> 'k -> 'r -> 'k -> 'jmethod virtual build_REq : 'env -> 'rmethod virtual build_RIte : 'env -> 'j -> 'k -> 'k -> 'mmethod virtual build_RNEq : 'env -> 'rmethod virtual build_RProj : 'env -> 'nmethod virtual build_RTClos : 'env -> 'smethod virtual build_RUn : 'env -> 's -> 'k -> 'mmethod virtual build_S : 'env -> 'imethod virtual build_Some_ : 'env -> 'hmethod virtual build_Sub : 'env -> 'gmethod virtual build_TClos : 'env -> 'smethod virtual build_Transpose : 'env -> 'smethod virtual build_True : 'env -> 'jmethod virtual build_U : 'env -> 'imethod virtual build_Union : 'env -> 'nmethod virtual build_Univ : 'env -> 'mmethod virtual build_Var : 'env -> int -> 'mmethod virtual build_X : 'env -> 'omethod virtual build_oexp : 'env -> 'm -> int -> 'kmethod visit_'exp : 'env -> exp -> 'kmethod visit_'fml : 'env -> fml -> 'jmethod visit_'iexp : 'env -> iexp -> 'lmethod visit_Add : 'env -> 'gmethod visit_All : 'env -> 'hmethod visit_And : 'env -> 'imethod visit_Block : 'env -> fml list -> 'jmethod visit_Card : 'env -> exp -> 'lmethod visit_Compr : 'env -> (bool * int * exp) list -> fml list -> 'mmethod visit_Diff : 'env -> 'nmethod visit_F : 'env -> 'omethod visit_FIte : 'env -> fml -> fml -> fml -> 'jmethod visit_False : 'env -> 'jmethod visit_G : 'env -> 'omethod visit_Gt : 'env -> 'pmethod visit_Gte : 'env -> 'pmethod visit_H : 'env -> 'omethod visit_IEq : 'env -> 'pmethod visit_INEq : 'env -> 'pmethod visit_IUn : 'env -> iunop -> iexp -> 'lmethod visit_Iden : 'env -> 'mmethod visit_Iff : 'env -> 'imethod visit_Imp : 'env -> 'imethod visit_In : 'env -> 'rmethod visit_Inter : 'env -> 'nmethod visit_Join : 'env -> 'nmethod visit_LProj : 'env -> 'nmethod visit_LUn : 'env -> lunop -> fml -> 'jmethod visit_Lt : 'env -> 'pmethod visit_Lte : 'env -> 'pmethod visit_Neg : 'env -> 'qmethod visit_No : 'env -> 'hmethod visit_None_ : 'env -> 'mmethod visit_Not : 'env -> 'omethod visit_NotIn : 'env -> 'rmethod visit_Num : 'env -> int -> 'lmethod visit_O : 'env -> 'omethod visit_Or : 'env -> 'imethod visit_Over : 'env -> 'nmethod visit_P : 'env -> 'omethod visit_Prime : 'env -> exp -> 'mmethod visit_Prod : 'env -> 'nmethod visit_Quant : 'env -> quant -> (bool * int * exp) -> fml list -> 'jmethod visit_R : 'env -> 'imethod visit_REq : 'env -> 'rmethod visit_RIte : 'env -> fml -> exp -> exp -> 'mmethod visit_RNEq : 'env -> 'rmethod visit_RProj : 'env -> 'nmethod visit_RTClos : 'env -> 'smethod visit_RUn : 'env -> runop -> exp -> 'mmethod visit_S : 'env -> 'imethod visit_Some_ : 'env -> 'hmethod visit_Sub : 'env -> 'gmethod visit_TClos : 'env -> 'smethod visit_Transpose : 'env -> 'smethod visit_True : 'env -> 'jmethod visit_U : 'env -> 'imethod visit_Union : 'env -> 'nmethod visit_Univ : 'env -> 'mmethod visit_Var : 'env -> int -> 'mmethod visit_X : 'env -> 'omethod 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_comp_op : 'env -> comp_op -> 'rmethod visit_exp : 'env -> exp -> 'kmethod private visit_float : 'env. 'env -> float -> floatmethod visit_fml : 'env -> fml -> 'jmethod visit_ibinop : 'env -> ibinop -> 'gmethod visit_icomp_op : 'env -> icomp_op -> 'pmethod visit_iexp : 'env -> iexp -> 'lmethod private visit_int : 'env. 'env -> int -> intmethod private visit_int32 : 'env. 'env -> int32 -> int32method private visit_int64 : 'env. 'env -> int64 -> int64method visit_iunop : 'env -> iunop -> 'qmethod private visit_lazy_t : 'env 'a 'b. ('env -> 'a -> 'b) ->
'env ->
'a lazy_t ->
'b lazy_tmethod visit_lbinop : 'env -> lbinop -> 'imethod private visit_list : 'env 'a 'b. ('env -> 'a -> 'b) ->
'env ->
'a list ->
'b listmethod visit_lunop : 'env -> lunop -> 'omethod private visit_nativeint : 'env. 'env -> nativeint -> nativeintmethod private visit_option : 'env 'a 'b. ('env -> 'a -> 'b) ->
'env ->
'a option ->
'b optionmethod visit_quant : 'env -> quant -> 'hmethod visit_rbinop : 'env -> rbinop -> 'nmethod 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 visit_runop : 'env -> runop -> 'smethod private visit_string : 'env. 'env -> string -> stringmethod private visit_unit : 'env. 'env -> unit -> unit