I don't get what usage those two classes could have that Set/Map don't cover.
If there something inside a weakset/weakmap, you can't access it/ask about it withouth a reference to the objects/keys themselves.
Since you need a reference to the object/key to query weakset/weakmap, there's no way the weakreference was released to begin with.
(Me) "Hey, WeakSet, here is some object you knew about, do you still does?"
(WeakSet) "have you ever asked me to forget about it?"
(Me) "No."
(WeakSet) "And do you have a reference to this object?"
(Me) "Of course, how else would we be talking about it?"
(WeakSet) "Exactly! Now stop asking stupid question."
If one just need to make sure an element has already been put in a set or used as a key of a map, one'd rather just use Set and Map (imo).
Could it be those are currenlty of no use?