I mean, we all make mistakes and decisions we regret down the road, but even in my Maverick days I'd have given that type of work a wide berth
def foo(x=None, y=None): ... foo(x=1, y=2) foo(1, y=2) foo(1, 2)
def add(*, l, r): return l + r add(l=1, r=2) >>> 3 add(1, r=2) >>> [...] >>> TypeError: add() takes 0 positional arguments but 1 positional argument (and 1 keyword-only argument) were given
edit: forgot that flake8 doesn't check for mutable arguments by default – need to add https://github.com/PyCQA/flake8-bugbear