I hate to be a party pooper but why are we having this conversation? The original proposal died because:
- Many people were squeamish about creating a punctuation ridden syntax
- Nobody could agree on whether
some_dict?["missing-key"]should giveNoneor aKeyError(or the attribute-getting equivalents) - There were concerns that APIs would evolve to make the need for constant
None-awareness more prominent
To propose another punctuation heavy syntax is to miss all the reasons why PEP-505 failed.