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 giveNone
or 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.