public static S fold <T, S>(HashSet <T> set, S state, Func <S, T, S> folder) => set.Fold(state, folder);
public static S fold <EqT, T, S>(HashSet <EqT, T> set, S state, Func <S, T, S> folder) where EqT : struct, Eq <T> => set.Fold(state, folder);