I had a project a couple years back implementing this and various other 'dead' (rejected) language-level proposals dynamically at the interpreter with just an install of a package, https://github.com/isidentical-archive/pepgrave. Was a fun experience looking back to the history of Python to see all these rejected proposals and getting them to play nice with the current language itself which has significantly evolved since they were proposed.
E.g. here was an implementation of the roman numeral literals PEP, https://github.com/isidentical-archive/pepgrave/blob/master/... which is extremely simple AST manipulation