1.6.fix warnings

The code compiles now with -w Ae and -warn-error A.
These annotations aren't really needed, but I prefer to have them too as they make the type inference unification algorithm fail much earlier, which leads to better compiler errors.