Tak ono i mezi dynamický typovanými jazyky je to problém, pokud chceme řešit rozdílnou sémantiku. Před spoustou let jsem přemýšlel o transpilaci PHP do JS. Oba jazyky jsou dynamické. Jenže i tam je problém. Když bez znalosti typů preložím $a + $b jako a+b a jedno z toho bude string, dostanu jiný výsledek. Mohl bych vše převádět na číslo, ale tím mi nebude fungovat přetěžování operátorů – co když budu mít třídu ComplexNumber? Takže jediné, co bych s tím mohl reálně udělat, že přeložit to na něco jako operatorAdd(a, b), a v rámci této funkce implementovat logiku z PHP. Což vlastně znamená přibalit kus PHP runtime.
A takovéto drobnosti se nahromadí. Třeba blbý null/None. Pokud si ty jazyky nejsou extrémně podobné, nepůjde to udělat bez kompromisu některým směrem.