Extracts variances for regions contained within types. Follows the same structure as
rustc_inferโs Generalizer: we try to relate a type with itself to track and extract the
variances of regions.
Propagate loans throughout the CFG: for each statement in the MIR, create localized outlives
constraints for loans that are propagated to the next statements.