What Piotr's proposal crystalised for me is the idea that we reallyhave two different kinds of name binding in Python. I'm going to callthem "incidental binding" and "definitive binding"....
if hasattr(_ref, "__defname__"):
...
The beauty of this syntax is that it means if we define __defname__
appropriately on function objects and on type, then ...
def a = 3