pub trait Block<F: Func<Blocks: Arena<F::Block, Output = Self>> + ?Sized> {
type Terminator: Term<F>;
// Required methods
fn term(&self) -> &Self::Terminator;
fn term_mut(&mut self) -> &mut Self::Terminator;
}
pub trait Block<F: Func<Blocks: Arena<F::Block, Output = Self>> + ?Sized> {
type Terminator: Term<F>;
// Required methods
fn term(&self) -> &Self::Terminator;
fn term_mut(&mut self) -> &mut Self::Terminator;
}