Properly implement variances_of for RPITIT GAT This fixes some of the issues found by crater run in https://github.com/rust-lang/rust/pull/112988#issuecomment-1610019572 r? ``@compiler-errors``
For high-level intro to how type checking works in rustc, see the type checking chapter of the rustc dev guide.