за свой опыт метаизвращений я понял, что если модифицировать язык, то только _дополнять_, а не переопределять его структуру. когда ты пишешь везде curry, ты переопределяешь. а когда например в языке вообще нет тип-сумм (Си), и ты пишешь datatype(...), то ты дополняешь