+ dummy_dfun_id
+ = mkDictFunId bottom bottom bottom dummy_dfun_ty
+ bottom bottom bottom bottom
+ where
+ bottom = panic "dummy_dfun_id"
+
+ dummy_dfun_ty = mkSigmaTy tyvars theta voidTy
+ -- All we need from the dfun is its "theta" part, used during
+ -- equation simplification (tcSimplifyThetas). The final
+ -- dfun_id will have the superclass dictionaries as arguments too,
+ -- but that'll be added after the equations are solved. For now,
+ -- it's enough just to make a dummy dfun with the simple theta part.
+ --
+ -- The part after the theta is dummied here as voidTy; actually it's
+ -- (C (T a b)), but it doesn't seem worth constructing it.
+ -- We can't leave it as a panic because to get the theta part we
+ -- have to run down the type!
+
+ my_panic str = panic "add_soln" -- pprPanic ("add_soln:"++str) (ppCat [ppChar ':', ppr PprDebug clas, ppr PprDebug tycon])