-
Simon Peyton Jones authored
This patch changes the interface to lookupInstEnv, so that it returns a pair (Instance, [Either TyVar Type]) rather than (Inst, TvSubst) There is no functionality change, but the interface is tidier, and closer to lookupFamInstEnv (when Manuel has changed that too). The [Either TyVar Type] gives the type(s) at which the dfun should be instantiated. We need an Either because it might be instantiated freely: see Note [InstTypes: instantiating types] in InstEnv. (This might be a pattern we want to use elsewhere too.)
2c8701fb