I did something similar to option 3 to make the builtin numeric types "callable", since the dunder __call__ methods can't be overwritten for builtins. For example, in regular arithmetic notation, something like 6(7+8) could be read as 6*(7+8), but trying to do this in Python gives you `SyntaxWarning: 'int' object is not callable;`, since you're essentially trying to do a function call on the literal 6. The workaround was to use a custom codec to wrap all integer literals to give them the expected call behavior.<p>Repo if anyone is interested: <a href="https://github.com/ckw017/blursed">https://github.com/ckw017/blursed</a><p>This was inspired by a way less silly usecase, future f-strings, which added f-string support to older versions of Python in a similar way using codecs: <a href="https://github.com/asottile-archive/future-fstrings">https://github.com/asottile-archive/future-fstrings</a>