<div dir="ltr"><div dir="ltr"><div dir="ltr"><div>As Vlad notes in [1], getting rid of FreeKiTyVars isn't as simple as it would appear, as we still treat kinds and types differently in other places, such as data type declarations. For instance:</div><div><br></div><div>    data Proxy (a :: k) = Proxy -- k is brought into scope implicitly by `extractDataDefnKindVars`<br></div><div><br></div><div>I don't know how to overcome this awkwardness, so if you have suggestions, please comment at [1].<br></div><div><br></div><div>Ryan S.</div><div>-----</div><div>[1] <a href="https://gitlab.haskell.org/ghc/ghc/merge_requests/361#note_6709">https://gitlab.haskell.org/ghc/ghc/merge_requests/361#note_6709</a><br></div></div></div></div>