Refactor: keep DivergentImplicitRecovery logic together.
Refactor rankImplicits, add some more docs