public Boolean IsProperSubsetOf([NotNull] IEnumerable <T> other) { if (other is null) { throw new ArgumentNullException(nameof(other)); } return(other switch { ISet <T> set => set.IsProperSupersetOf(this), IImmutableSet <T> set => set.IsProperSupersetOf(this), IReadOnlySet <T> set => set.IsProperSupersetOf(this), _ => other.ToHashSet().IsProperSupersetOf(this) });
public bool IsProperSupersetOf(IEnumerable <string> other) => _data.IsProperSupersetOf(other);