Every call to `navigator.requestMIDIAccess` adds an item into a set that is never cleaned up. Why not use a `WeakSet`? Well then we can't iterate the values. Why not a drop function? What language do you think we're in, lol.