pub fn singleton<X>(x: X) -> HashSet<X> where
    X: Hash + Eq