fn structurally_normalize<'tcx>(
    ty: Ty<'tcx>,
    infcx: &InferCtxt<'tcx>,
    param_env: ParamEnv<'tcx>,
    nested: &mut Vec<PredicateObligation<'tcx>>
) -> Ty<'tcx>