A quick look at the channel history seems to indicate it's because behind the scenes Java casts from a byte to an int and back to a byte when doing an operation, and Kotlin doesn't like implicit casting. You could always duplicate this behavior explicitly. (I could be wrong here though).