Thank you, I'll use an int for now.

I noticed another quirk, although it might also have been reported before (couldn't find anything though):
Code:

// Works:
char chr = 5;
short shrt = chr;

// Fails:
char chr = 5;
short shrt = (short)chr;



The second piece of code gives me a "Cannot translate CONV:CHAR::SHORT" error. Kinda strange since implicit casting (without "(short)") seems to work fine.