Update:
Some functions whose return type depends on their respective arguments had not
set a type at all, i.e. isym->ts.type == BT_UNKNOWN. The functions in
question are: ALL, ANY, DOT_PRODUCT, AND, OR, XOR, MIN, MAX and SUM (but not
e.g. PRODUCT).
To unify this, the "most likely" default types were added to these functions
as done for other functions, e.g. PRODUCT. Also, instead of an unconditional
warning for different types, the warning will only be shown
if -Wsurprinsing/-Wall was specified at the command line.