pub trait Walks<H: WalkHistory>: Copy + Clone + Default + Deref<Target = [Walk<H>]> + DerefMut { fn states() -> usize; }