As_prover.Make_extended
module Env : sig ... end
module Checked : Checked_intf.S with type 'f field := Env.field
module Types = Checked.Types
include S
with module Types := Types
with type 'f field := Env.field
and type ('a, 'f) t := ( 'a, 'f ) Types.As_prover.t
include As_prover_intf.Basic
with type ('a, 'f) t = ( 'a, 'f ) Types.As_prover.t
and type ('a, 'f) Provider.t = ( 'a, 'f ) Types.Provider.t
with type 'f field := Env.field
with type ('a, 'f) t := ( 'a, 'f ) Types.As_prover.t
include Monad_let.S2
with type ('a, 'f) t := ( 'a, Env.field ) Types.As_prover.t
include Monad_let.S_without_syntax2
with type ('a, 'e) t := ( 'a, Env.field ) Types.As_prover.t
include Core_kernel.Monad.Infix2
with type ('a, 'e) t := ( 'a, Env.field ) Types.As_prover.t
val (>>=) :
( 'a, Env.field ) Types.As_prover.t ->
( 'a -> ( 'b, Env.field ) Types.As_prover.t ) ->
( 'b, Env.field ) Types.As_prover.t
val (>>|) :
( 'a, Env.field ) Types.As_prover.t ->
( 'a -> 'b ) ->
( 'b, Env.field ) Types.As_prover.t
val bind :
( 'a, Env.field ) Types.As_prover.t ->
f:( 'a -> ( 'b, Env.field ) Types.As_prover.t ) ->
( 'b, Env.field ) Types.As_prover.t
val return : 'a -> ( 'a, Env.field ) Types.As_prover.t
val map :
( 'a, Env.field ) Types.As_prover.t ->
f:( 'a -> 'b ) ->
( 'b, Env.field ) Types.As_prover.t
val join :
( ( 'a, Env.field ) Types.As_prover.t, Env.field ) Types.As_prover.t ->
( 'a, Env.field ) Types.As_prover.t
val ignore_m :
( _, Env.field ) Types.As_prover.t ->
( unit, Env.field ) Types.As_prover.t
val all :
( 'a, Env.field ) Types.As_prover.t list ->
( 'a list, Env.field ) Types.As_prover.t
val all_unit :
( unit, Env.field ) Types.As_prover.t list ->
( unit, Env.field ) Types.As_prover.t
module Let_syntax : sig ... end
val run :
( 'a, Env.field ) Types.As_prover.t ->
( Env.field Cvar.t -> Env.field ) ->
'a
val map2 :
( 'a, Env.field ) Types.As_prover.t ->
( 'b, Env.field ) Types.As_prover.t ->
f:( 'a -> 'b -> 'c ) ->
( 'c, Env.field ) Types.As_prover.t
val read_var : Env.field Cvar.t -> ( Env.field, Env.field ) Types.As_prover.t
val read :
( 'var, 'value, Env.field, _ ) Types.Typ.t ->
'var ->
( 'value, Env.field ) Types.As_prover.t
module Provider : sig ... end
module Handle : sig ... end
module Ref : sig ... end
type 'a t = ( 'a, Env.field ) As_prover.t