use std::ops::{Index, IndexMut};
pub trait Zero {
fn zero() -> Self;
}
impl Zero for usize { fn zero() -> Self { 0 } }
impl Zero for isize { fn zero() -> Self { 0 } }
pub trait Property: Copy + Zero {}
impl
Property for P where P: Copy + Zero {}
pub trait Weight: Property + std::ops::Add