Workaround for HashSet not being ISet .NET3.5
Workaround for HashSet not being ISet .NET3.5

You cannot use AsSet to get a HashSet<T> in .NET 3.5 because in .NET 3.5
HashSet is not an ISet<T> - if all you need is to have Contains and no
duplicates use AsDistinctCollection instead. AsDistinctCollection will
return recognize HashSet<T> otherwise it is identicall to AsSet.

theraot/Theraot