pub trait Kernel<X = Vector> { type HyperParams; // Required method fn kernel(&self, x0: &X, x1: &X) -> f64; }