"Overloading could not be solved" due to synonym in context
The program below fails to compile with an overloading error:
module list
import StdEnv
Start = f []
f :: !(l String) -> () | List l String
f [|_:xs] = f xs
Overloading error [list.icl,7,f]: internal overloading of "f" could not be solved for: List a String (context does not occur in function type)
Changing the context to List l {#Char}
makes the program compile, but I think the above should work as well.