OK that's fine. Can you still split them into separate `if` clauses given the fact that they mean very different things and document with an inline comment what the different conditions signify?

e.g.,

```javascript
if (!model) {
    // The referenced type was either a primitive or it referenced a model that doesn't exist. No need to recursively look for model references
    return;
} else if (resource.models[modelName]) {
    // This model type has already been visited. Don't recurse over it again or else we'll have an infinite loop
    return;
}
```