Seems related to the very old #81 in that certain values (dictionary keys, in our case) are not escaped.
Use of repr() as keys results in apparently no keys. (Web inspector shows that they're being interpreted as HTML.)
MCVE
Enter the following in a presented interactive REPL or traceback:
{'<a href="about:blank">Testing</a>': 'value'}
Or, attempt to use the REPR of a class as keys:
This was exceptionally confusing when our plugin registry showed an empty string for every key.
Screenshot

Seems related to the very old #81 in that certain values (dictionary keys, in our case) are not escaped.
Use of
repr()as keys results in apparently no keys. (Web inspector shows that they're being interpreted as HTML.)MCVE
Enter the following in a presented interactive REPL or traceback:
{'<a href="about:blank">Testing</a>': 'value'}Or, attempt to use the REPR of a class as keys:
{repr(type): 'value'}This was exceptionally confusing when our plugin registry showed an empty string for every key.
Screenshot