feat(#7): add WeakSet and WeakMap support