fn with_fresh_ty_vars<'cx, 'tcx>(
    selcx: &mut SelectionContext<'cx, 'tcx>,
    param_env: ParamEnv<'tcx>,
    impl_def_id: DefId
) -> ImplHeader<'tcx>