pub trait ProverTranscript<F> {
// Required methods
fn append(&mut self, label: &str, elem: F);
fn append_elements(&mut self, label: &str, elements: &[F]);
fn append_input_elements(&mut self, label: &str, elements: &[F]);
fn get_challenge(&mut self, label: &str) -> F;
fn get_challenges(&mut self, label: &str, num_elements: usize) -> Vec<F>;
}