
This proposal splits out the faculty for assigning type signatures to variables destructured out of a pattern from ScopedTypeVariables. https://github.com/ghc-proposals/ghc-proposals/pull/119/ My recommendation is to accept the proposal, with some reservations. ScopedTypeVariables is one of the more popular candidates for "this should always be on regardless." The cases in which STV would be useful greatly outnumber the downsides Gundry cited in my experience. My impression of this upheld by my industrial experience and that of the other industrial programmers I've talked to in the past about ScopedTypeVariables. Almost any time it is brought up almost invariably the conversation touches on, "why isn't this on by default?" I understand STV could break programs with overlapping names that are intended to be independent type variables, I don't presume to litigate or resolve that issue here. Extension fatigue is wearing on the Haskell users I regularly interact with, especially as it's unclear if Haskell Prime will convene and consolidate commonly used extensions into the core language. In my view these aren't sufficient reason to reject the proposed extension on the merits so my recommendation is to accept it as-is. I think the case for this proposal is particularly strong as it would clean up the extension's presently somewhat confusing relationship with STV. If no objections are raised, it should be assumed that this has the assent of the committee. -- Chris Allen