
Data/Array/Vector/Prim/BUArr.hs:663:3: Couldn't match type `s' with `s3' because this skolem type variable would escape: `s3' .... I have to say, as an everyday joe programmer, that the obscurity of this message disturbs me. I hope I don't see it very often.
"Rigid" type variable seemed obscure before. Now a new different obscure thing to learn! I wonder if there's a reasonable way for the message to notice when it might be a situation involving local bindings and new typechecking behavior. Even adding "Possible fix: add a type-signature to such-and-such local binding in 'f'", if the message could be arranged to make that actually be a likely fix, might be helpful. (We want to make sure that the message will still be usually-helpful 2 years in the future when everyone's used to this type-checker. Hmm.) I don't know: do "skolem" errors always imply that: either it's possible to add more type-signatures to fix them: or if that's impossible then the code is seriously type-incorrect? -Isaac