pub fn get_sparse_poss<T>(
basepair_probs_pair: &(&HashMap<(T, T), f32, BuildHasherDefault<AHasher>, Global>, &HashMap<(T, T), f32, BuildHasherDefault<AHasher>, Global>),
match_probs: &HashMap<(T, T), f32, BuildHasherDefault<AHasher>, Global>,
seq_len_pair: &(T, T)
) -> (HashMap<(T, T), HashSet<(T, T), BuildHasherDefault<AHasher>, Global>, BuildHasherDefault<AHasher>, Global>, HashMap<(T, T), HashSet<(T, T), BuildHasherDefault<AHasher>, Global>, BuildHasherDefault<AHasher>, Global>, HashSet<(T, T, T, T), BuildHasherDefault<AHasher>, Global>, HashMap<(T, T), HashSet<(T, T), BuildHasherDefault<AHasher>, Global>, BuildHasherDefault<AHasher>, Global>, HashMap<T, HashSet<T, BuildHasherDefault<AHasher>, Global>, BuildHasherDefault<AHasher>, Global>, HashMap<T, HashSet<T, BuildHasherDefault<AHasher>, Global>, BuildHasherDefault<AHasher>, Global>)where
T: HashIndex,