e66c2621af
Expression '1.unaryMinus()' is resolved as Int::unaryMinus call with Int receiver. However, this expression is implicitly coerced to a different integral type (Byte, Short, Long) based on results of constant evaluation. Introduce IMPLICIT_INTEGER_COERCION type operator to handle such cases. TODO: should we use it for simple constant expressions like '1' and '-1'?