>> From my understanding of Ruby, super references the class's superclass.

Not quite - "super" references any appropriate receiver in the ancestors chain:

```Ruby
2.0.0p247 :005 > Reek::Smells::SmellDetector.ancestors
 => [Reek::Smells::SmellDetector, Object, Kernel, BasicObject]
```

>> smell_detector does not seem to have an explicitly defined superclass.

Then it's Object:

```Ruby
2.0.0p247 :004 > Reek::Smells::SmellDetector.superclass
 => Object
```

>> Doing a grep shows adopt being only defined in hash_extensions.

That IS a good question, let me come back to you on this one..:)