Re-do the invariant for TcDepVars
authorSimon Peyton Jones <simonpj@microsoft.com>
Mon, 9 May 2016 22:12:31 +0000 (23:12 +0100)
committerSimon Peyton Jones <simonpj@microsoft.com>
Tue, 10 May 2016 08:34:25 +0000 (09:34 +0100)
commit0597493293eeea9b966697471d443fb20025bbf9
treebf31fa5d5a7f26dcafa17275f84f611ad34de11a
parentbb296bf1b5d92b2c4059c2d97a317622247c3397
Re-do the invariant for TcDepVars

Previously I had it so that dv_kvs and dv_tvs didn't
overlap.  Now they can, and quantifyZonkedTyVars
removes the former from the latter.  This is more
economical, and in fact there was a bug where the
invariant wasn't re-established.

It's much easier to allow dv_kvs and dv_kvs to overlap,
and to eliminate the overlap in TcMType.quantifyZonkedTyVars
compiler/typecheck/TcMType.hs
compiler/typecheck/TcType.hs