Type casting and precedence rules