pub fn find_subsequence<T>(haystack: &[T], needle: &[T]) -> Option<usize>where
    for<'a> &'a [T]: PartialEq,