Module Types.Provider

module T : sig ... end
include module type of struct include T end
type ('request, 'compute) provider = ( 'request, 'compute ) T.provider =
| Request of 'request
| Compute of 'compute
| Both of 'request * 'compute

The different ways to generate a value for the circuit witness.

If Both, this attempts the request first, and falls back on compute if the request is unhandled or raises an exception.

type ('request, 'compute) t = ( 'request, 'compute ) provider