Record updates are amazingly hard to typecheck right. This is one place
where GHC's policy of typechecking the original source is much harder than
desugaring and typechecking that!
Anyway, the bug here is that to compute the 'fixed' type variables I was
only looking at one constructor rather than all the relevant_cons
Test is typecheck/should_compile/T3219, which GHC 6.10 barfs on (with Lint).