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