Might be nicer to encapsulate the mutable fields for countdown/recovery logic.

```scala
object DivergentImplicitRecovery {
  private var sym: Symbol = _
  private var countdown: Int = 1
  def apply(search: SearchResult): SearchResult = ...
}

...

val search = typedImplicit(i, ptChecked = true, isLocal)
DivergentImplicitRecovery(search)
```