There was an outright bug in MatchCon.matchOneCon, in the construction
of arg_tys. Easily fixed. It never showed up becuase the arg_tys are
only used in WildPats, and they in turn seldom have their types looked
(except by hsPatType). So I can't make a test case for htis.
While I was investigating, I added a bit of clarifation and
invariant-checking to dataConInstOrigArgTys and dataConInstArgTys