fn stable_hash_reduce<HCX, I, C, F>(
    hcx: &mut HCX,
    hasher: &mut StableHasher,
    collection: C,
    length: usize,
    hash_function: F
)
where C: Iterator<Item = I>, F: Fn(&mut StableHasher, &mut HCX, I),