pub fn interpolate<X, Y>(x: X, x0: X, x1: X, y0: Y, y1: Y) -> Ywhere X: Sub<X, Output = X> + Div<X, Output = X> + Mul<Y, Output = Y> + Clone + Copy, Y: Sub<Y, Output = Y> + Add<Y, Output = Y> + Clone + Copy,