I'm not a big fan of relying on the `TypeError` from `issubclass` to detect a string here. I'd rather first test if `subclass in calculated_subclasses` and handle that case if so. If not, then check if its a subclass of `self.model` and handle that case; if not, then error.