Basically I think the previous implementation of `_get_subclasses_recurse` should be left alone, rather than pulling out a separate `_slice_to_depth` method. It doesn't make sense to recurse the whole way down and then have to go back over the list culling out everything past depth 1, when we could know in advance that we aren't going to use anything past depth 1, so don't bother descending that far anyway.