Parameter F3.1-F

include Intf.Basic with type 'a A.t = 'a with type 'a Base.t_ = 'a
module Base : sig ... end
module A : Intf.Traversable_applicative with module Impl := Impl with type 'a t = 'a
type 'a t_ = 'a Base.t_ A.t
val to_list : 'a t_ -> 'a list
val map_ : 'a t_ -> f:( 'a -> 'b ) -> 'b t_
val map2_ : 'a t_ -> 'b t_ -> f:( 'a -> 'b -> 'c ) -> 'c t_
type t = Base.t A.t
val typ : ( t, Unchecked.t ) Impl.Typ.t
val constant : Unchecked.t -> t
val to_constant : t -> Unchecked.t option
val scale : t -> Impl.Field.t -> t
val mul_field : t -> Impl.Field.Var.t -> t Impl.Checked.t
val assert_r1cs : t -> t -> t -> unit Impl.Checked.t
val (+) : t -> t -> t
val (-) : t -> t -> t
val negate : t -> t
val if_ : Impl.Boolean.var -> then_:t -> else_:t -> t Impl.Checked.t
val (*) : [ `Define | `Custom of t -> t -> t Impl.Checked.t ]
val real_part : 'a t_ -> 'a
val assert_square : t -> t -> unit Impl.Checked.t
val assert_equal : t -> t -> unit Impl.Checked.t
val (*) : t -> t -> t Impl.Checked.t
val square : t -> t Impl.Checked.t
val div_unsafe : t -> t -> t Impl.Checked.t
val inv_exn : t -> t Impl.Checked.t
val zero : t
val one : t