In the `if` and `else if` there is no recursive call to `[self evalDescWith:...];`. This means that the descendants direction is not being implemented.