Hi Tom, I see nothing bizarre nor counterintuitive. Perhaps you need to retrain your intuitions ;-)
> I have just noticed that with ScopedTypeVariables one can write the
> following bizarre definition
>
> -- Inferred signature:
> -- add :: Num a => a -> a -> a
> add (x :: a) (y :: b) = x + y
What do you think is bizarre? GHC makes a reasonable attempt to use the tyvar names you put in a signature -- remembering that alpha-renaming means the name is not really significant. I can get `add :: Num c => c -> c -> c`, etc.