pub fn lerp<T: Copy + Sub + Add<<<T as Sub>::Output as Mul<f32>>::Output, Output = T>>( a: T, b: T, t: f32, ) -> Twhere <T as Sub>::Output: Mul<f32>,