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.