Roman Susi email@example.com wrote:
def foo(x, y, z, bar=Missing, qux=Missing): if baz is Missing: baz =  #code
With the proper definition of Missing, the above is fine, and is more or less creating a new 'None' value.
def foo(x, y, z, bar=, qux=): if baz is Missing: baz =  #code
at least, it doesn't require decorators, is backward compatible (hopefully no grammar conflicts in there), reads as English.
The above with a missing value for a default *is not* backwards compatible with previous Pythons. New syntax is, by definition, not backwards compatible.