private static bool IsSubset(ArrayEnumSet <T> a, ArrayEnumSet <T> b) => !a._elements.Where((t, i) => (t & ~b._elements[i]) != 0).Any();
private static bool IsProperSubset(ArrayEnumSet <T> a, ArrayEnumSet <T> b) => IsSubset(a, b) && a.Count < b.Count;
public Enumerator(ArrayEnumSet <T> enumSet) { _enumSet = enumSet; }