Question: if we're willing to `defineProperty`—and, obviously, it works in all supported browsers—why override `valueOf` and keep global caches instead of just storing data [right on the objects](https://github.com/jquery/sizzle/blob/3bfb4ce2601af9a4c4aed3804b8903ce8914686a/sizzle.js#L1472-L1483)?