Add WeakSet, closes #221