This method of construction would make it easy to, say, instantiate a `TTLCache` with an `LRUCache`, gaining the semantics of both caches.