Nas aulas M01A03 e M01A04, o Guanabara deu a explicação que é melhor utilizar o subtipo short ao invés do byte o valor contido na variável for maior que 128, por exemplo em uma variável idade, sendo que se eu não preciso de valores negativos eu posso dobrar a quantidade de valores utilizando UByte, UShort, UInt, etc. Porque o tipo byte armazena 256 bits o que representa o range de numeros de -127 à 127, no caso de uma variável idade eu posso usar o UByte para armazenar a idade de uma pessoa de até 255 anos, eu alocaria a mesma quantidades de bits na memória otimizando muito meu código. Isso se dá porque um 2 ** 8 == 256.
fun main(args: Array<String>) {
var idade:UByte = 255u;
print(idade);
}