pub trait View<T>: AsRef<[T]> { // Required method fn take(&mut self, n: usize) -> Result<&[T], BadPos>; }