Another thing I've tried today is to do something with arithmetics. I've started with right unsigned shift implementation but soon bumped into JsLong implementation and other JS stuff around numbers. So I've researched files like https://github.com/krzema12/kotlin-python/blob/python-backend/compiler/ir/backend.[…]lin/ir/backend/py/lower/calls/NumberOperatorCallsTransformer.kt, I think I will continue next week.
There are multiple tasks:
• Remove special status of Long.
• Add modulus operators to emulate overflowing.
• Support conversions.
The problem is that it seems it's no use to make these steps one-by-one because everyone spoils a huge field of arithmetic operations. So I hope I'll manage to resolve everything at once.