pub trait Witnessable<C: Config> {
type WitnessVariable: MemVariable<C>;
// Required methods
fn read(&self, builder: &mut Builder<C>) -> Self::WitnessVariable;
fn write(&self, witness: &mut Witness<C>);
}
pub trait Witnessable<C: Config> {
type WitnessVariable: MemVariable<C>;
// Required methods
fn read(&self, builder: &mut Builder<C>) -> Self::WitnessVariable;
fn write(&self, witness: &mut Witness<C>);
}