pub fn ewma<T, I>(vals: I, alpha: T) -> (usize, Vec<T>) where
    T: Float + AddAssign,
    I: IntoIterator<Item = Option<T>>,
    I::IntoIter: TrustedLen