BUG: Move the pushing of ABCs out to a separate method since we can't tell whether a type is an ABC or a concrete subclass of an ABC.