x :: forall a. ... y @b y = {1} where x :: b -- {2} x = y
1 - вот тут понятно почему есть b в контексте. Почему там должен быть "a" не ясно 2. вот тут понятно почему есть b, так же как в скоупе есть y, есть и b
ну то есть скоупед-тайп-вар выглядят как костыль, который сейчас уже не так уж и нужен из-за этой фичи, потому что теперь все стало несколько более понятно