2016-06-02 1:50 GMT+02:00 Jonathan Goble <jcgoble3@gmail.com>:
I have a completely different idea here. Forget clunky syntax, overloading of 'def' and 'as', and all that. Introduce the magic parameter '$'. To wit:

    def func(*args, **kwargs, $):  # positioning of the $ is discussed below
        ...  # function code here
 

Why not a method similar to what is done with *args and **kwargs
(I chose pretty arbitrarely /namearg)

so for definition it would be
    def func(*args, **kwargs, /namearg): 

and for override it would be
Record = namedtuple('name, address, phone, age', /'BusinessCard')