This isn't quite consistent with:

```scala
def isCyclicOrErroneous =
      try sym.hasFlag(LOCKED) || containsError(tpe)
      catch { case _: CyclicReference => true }
```

I would be more comfortable if we also caught `CyclicReference` here.