Module type Constraint.S

type (_, _) t
include Ppx_sexp_conv_lib.Sexpable.S2 with type ('a__001_, 'b__002_) t := ( 'a__001_, 'b__002_ ) t
val t_of_sexp : ( Sexplib0__.Sexp.t -> 'a ) -> ( Sexplib0__.Sexp.t -> 'b ) -> Sexplib0__.Sexp.t -> ( 'a, 'b ) t
val sexp_of_t : ( 'a -> Sexplib0__.Sexp.t ) -> ( 'b -> Sexplib0__.Sexp.t ) -> ( 'a, 'b ) t -> Sexplib0__.Sexp.t
val map : ( 'a, 'f ) t -> f:( 'a -> 'b ) -> ( 'b, 'f ) t
val eval : (module Snarky_intf.Field.S with type t = 'f) -> ( 'v -> 'f ) -> ( 'v, 'f ) t -> Base.bool