typed_arena
pub struct Arena<T> { // some fields omitted }
impl<T> Arena<T>
fn new() -> Arena<T>
fn with_capacity(n: usize) -> Arena<T>
fn alloc(&self, value: T) -> &mut T