pub trait Pixel: Copy + Into<f64> { fn from_f64(f: f64) -> Self; fn cast<P>(self) -> P where P: Pixel, { ... } }