pub trait ReadOnlyAlgorithm: BasicSnippet {
// Required methods
fn rust_shadow(
&self,
stack: &mut Vec<BFieldElement>,
memory: &HashMap<BFieldElement, BFieldElement>,
nd_tokens: VecDeque<BFieldElement>,
nd_digests: VecDeque<Digest>,
);
fn pseudorandom_initial_state(
&self,
seed: [u8; 32],
bench_case: Option<BenchmarkCase>,
) -> ReadOnlyAlgorithmInitialState;
// Provided method
fn corner_case_initial_states(&self) -> Vec<ReadOnlyAlgorithmInitialState> { ... }
}