pub fn vec_hamming_distance<T: PartialEq>(
    s1: &SmallVec<[T; 32]>,
    s2: &SmallVec<[T; 32]>
) -> usize