Made all type class instances global. The fact that ILFun now takes a
Fun rather than a lambda should make sure that the inference engine does
not attempt to unify with every function space it sees.