Thanks for the insight, Quinn! The main reason why I went the URLCache subclassing route is that I wanted to avoid reimplementing the whole HTTP cache spec. Also, URLCache's integration with URLSession and URL loading system is quite seameless, so I wanted to reuse that. But based on your comment, the "you can subclass it when you have specific needs" documentation is quite optimistic at best, and I'll have to look for other ways to solve the original issue (URLCache's eviction not being LRU).