FastPath is returning multiple children for the same entry
Consider this:
>>> list(importlib_metadata.FastPath('./keyring-21.2.0-py3-none-any.whl').children())
['keyring', 'keyring', 'keyring', 'keyring', 'keyring', 'keyring', 'keyring', 'keyring', 'keyring', 'keyring/backends', 'keyring/backends', 'keyring/backends', 'keyring/backends', 'keyring/backends', 'keyring/backends', 'keyring/backends', 'keyring/backends', 'keyring/backends', 'keyring/testing', 'keyring/testing', 'keyring/testing', 'keyring/util', 'keyring/util', 'keyring/util', 'keyring-21.2.0.dist-info', 'keyring-21.2.0.dist-info', 'keyring-21.2.0.dist-info', 'keyring-21.2.0.dist-info', 'keyring-21.2.0.dist-info', 'keyring-21.2.0.dist-info', 'keyring', 'keyring/backends', 'keyring/testing', 'keyring/util', 'keyring-21.2.0.dist-info']
This leads to importlib_metadata.Distribution.discover(path=['./keyring-21.2.0-py3-none-any.whl'])
yielding multiple redundant PathDistribution objects.