pub trait Coeff: Sized + Add<Output = Self> + AddAssign + Sub<Output = Self> + Mul<Output = Self> + Neg<Output = Self> + Hash + Eq + PartialOrd + Copy + One + Zero + Signed + Display { }