The culprit seems to be that
instance Foldable [] where
elem = List.elem
foldl = List.foldl
foldl' = List.foldl'
foldl1 = List.foldl1
foldr = List.foldr
foldr1 = List.foldr1
length = List.length
maximum = List.maximum
minimum = List.minimum
null = List.null
product = List.product
sum = List.sum
toList = id
delegates to monomorphic methods rather than implementing them directly.
The early testing where we showed that it didn't break RULES was done with the final definitions in the class rather than delegating to GHC.OldList.
Somewhere when reorganizing of the code we switched to this style and introduced this problem, making RULES much more brittle. =/
-Edward