Closure typing obligations flow in both direcitons to properly infer types. Because of this, we will get 2 type errors whenever there's an unfulfilled obligation. To avoid this, we deduplicate them in the `InferCtxt`.
One surprise: old-lub-glb-object.rs, may indicate a bug
Now they don't shadow other lifetimes.