My most negative experience with Kotlin is related to this language behavior too (but related to bytes, not ints). While working with binary protocols and byte arrays I ended up using int arrays to represent byte arrays (so I was able to write 0xFF when needed and use bitwise math), only converting things to byte arrays at "exit points" of application.