pub trait Transcript {
// Required methods
fn domain_separate(&mut self, label: &'static [u8]);
fn append_message(&mut self, label: &'static [u8], message: &[u8]);
fn challenge(&mut self, label: &'static [u8]) -> Vec<u8> ⓘ;
fn rng_seed(&mut self, label: &'static [u8]) -> [u8; 32];
}