Use top-level instances to solve superclasses where possible