stack
pub trait Spilled<T> { fn spill(v: T) -> Self; }
fn spill(v: T) -> Self
impl<T: Array> Spilled<ArrayVec<T>> for Vec<T::Item>