@@ -439,7 +439,7 @@ pop_estack = do i <- getIState
439-- Dodgy hack 1: Put integer instances first in the list so they are
439-- Dodgy hack 1: Put integer instances first in the list so they are
440-- resolved by default.
440-- resolved by default.
442−-- Dodgy hack 2: put constraint chasers (@@) last
442+-- Dodgy hack 2: put constraint chasers (ParentN) last
443addInstance :: Bool -- ^ whether the name is an Integer instance
443addInstance :: Bool -- ^ whether the name is an Integer instance
444 -> Bool -- ^ whether to include the instance in instance search
444 -> Bool -- ^ whether to include the instance in instance search
445 -> Name -- ^ the name of the class
445 -> Name -- ^ the name of the class
@@ -461,8 +461,7 @@ addInstance int res n i
461 insI i (n : ns) | chaser (fst n) = (i, res) : n : ns
461 insI i (n : ns) | chaser (fst n) = (i, res) : n : ns
462 | otherwise = n : insI i ns
462 | otherwise = n : insI i ns
464− chaser (UN nm)
464+ chaser (SN (ParentN _ _)) = True
465− | ('@':'@':_) <- str nm = True
466 chaser (NS n _) = chaser n
465 chaser (NS n _) = chaser n
467 chaser _ = False
466 chaser _ = False