Strict distinction of the different types of variables and the consequences thereof are quite new for me switching from Perl to C.

Code:
Returns:
x when c is true, otherwise y. 
Remarks:
The returned variable type depends on the type of the arguments;[...]



Of course it's objectively right, but I thought if x is a var and y is an int then if c is true the returned variable is a var, otherwise it is an int. I never have guessed that the arguments themselves have been touched for conversion to either int or var.