@AugierLe42e

We don't actually need a special constant for this; this is a pretty standard Python #idiom:

NOT_SET = object()

def f(a: int, b: int = NOT_SET):
if b is NOT_SET:
# function called without second argument
...

NOT_SET is a bare object, which will never compare equal to anything else, and is a singleton so the natural test is #object #identity. It absolutely distinguishes between "no argument" and "caller happened to pass the #default value #explicitly".