<div dir="ltr">We've encountered a problem in Intero which is that when inspecting types of expressions and patterns, sometimes it happens that the type, when pretty printing, yields variables of the same name but which have different provenance.<div><br></div><div>Here's a summary of the issue:<br><div><br></div><div><a href="https://github.com/commercialhaskell/intero/issues/280#issuecomment-254784904" target="_blank">https://github.com/<wbr>commercialhaskell/intero/<wbr>issues/280#issuecomment-<wbr>254784904</a><br></div></div><div><br></div><div>And a strawman proposal of how it could be solved:</div><div><br></div><div><a href="https://github.com/commercialhaskell/intero/issues/280#issuecomment-254787927" target="_blank">https://github.com/<wbr>commercialhaskell/intero/<wbr>issues/280#issuecomment-<wbr>254787927</a><br></div><div><br></div><div>What do you think? </div><div><br></div><div>Also, if I were to implement the strawman proposal, is it possible to recover from a `tyvar :: Type` its original quantification/its "forall"? I've had a look through the API briefly and it looks like a _maybe_.</div><div><br></div><div>Ciao!</div></div>