Move element unwrapping out of ByNested constructor

I just realized that this has a good side effect that if ever the proxy's cache is invalidated and it has to look up the element again (which can happen), then this will get the new element, whereas caching that here (as the old implementation did) wouldn't. So, two wins!