pub fn relate_args_with_variances<'tcx, R: TypeRelation<'tcx>>(
    relation: &mut R,
    ty_def_id: DefId,
    variances: &[Variance],
    a_arg: GenericArgsRef<'tcx>,
    b_arg: GenericArgsRef<'tcx>,
    fetch_ty_for_diag: bool
) -> RelateResult<'tcx, GenericArgsRef<'tcx>>