enums and ints are implicitly convertible
Implicit vs explicit type conversions

e.g. float -> int and vice versa is implicit.
int -> ptr and vice versa is explicit.
Tidied up funcargs_cmp()
type_ref_get_type() may return null + tidy up of interface
Renamed op_is_relational() to op_returns_bool()
Constant folding for floating types may return a bool
More variadic tests
lib/: Pass through correct type size to int printer
Added -fsymbol-arith
Temporary fix for adding from mem operands

Needs fixes from the optimisation/backend_lvalue branch