Make_extended.Let_syntaxinclude Monad_let.Base_syntax2
with type ('a, 'e) t := ( 'a, Env.field ) Types.As_prover.tinclude Core_kernel.Monad.Infix2
with type ('a, 'e) t := ( 'a, Env.field ) Types.As_prover.tval (>>=) :
( 'a, Env.field ) Types.As_prover.t ->
( 'a -> ( 'b, Env.field ) Types.As_prover.t ) ->
( 'b, Env.field ) Types.As_prover.tval (>>|) :
( 'a, Env.field ) Types.As_prover.t ->
( 'a -> 'b ) ->
( 'b, Env.field ) Types.As_prover.tinclude Monad_let.Let_syntax2
with type ('a, 'e) t := ( 'a, Env.field ) Types.As_prover.tval return : 'a -> ( 'a, Env.field ) Types.As_prover.tval bind :
( 'a, Env.field ) Types.As_prover.t ->
f:( 'a -> ( 'b, Env.field ) Types.As_prover.t ) ->
( 'b, Env.field ) Types.As_prover.tval map :
( 'a, Env.field ) Types.As_prover.t ->
f:( 'a -> 'b ) ->
( 'b, Env.field ) Types.As_prover.tval both :
( 'a, Env.field ) Types.As_prover.t ->
( 'b, Env.field ) Types.As_prover.t ->
( 'a * 'b, Env.field ) Types.As_prover.tmodule Open_on_rhs : sig ... endmodule Let_syntax :
Monad_let.Let_syntax2
with type ('a, 'e) t := ( 'a, Env.field ) Types.As_prover.t