Confusing overloading error
The compiler correctly gives an error for the code below:
import StdEnv f :: b a -> b | + a f x _ = x + x
The error is:
Overloading error [test.icl,5,f]: internal overloading of "+" could not be solved for: + a (context does not occur in function type)
This is confusing (or even incorrect), because
+ a does occur in the function type. It is
+ b which is missing.