| 
 | 
ints.sum(7,8) the compiler can't tell if you want to call the float version or the char version, since 7 and 8 are freely convertible to either type.
ints.sum(7,8) is ok because int is overloaded.  floats.sum (6.7,7.8) and so it can't decide between int and float.   Change it to floats.sum (6.7f,7.8f);