Yes definitely. I went with this initially as I think I spotted a bug in HashSet and Set.

Specially in how contract works.

I have:
```elixir
Set.difference(filled_set(20), filled_set(21)) == Set.new([]) #Fails
```

The reason for the failure is  Set.difference(filled_set(20), filled_set(21)) evaulates to a set with 8 empty buckets.
Set.new([]) has one empty bucket, and hence they don't match.