 	/// Surrounds this renderer with a layer of caching.
 	public func withCache<
 		Cache: CacheType
-		where Cache.Key == Self.Data, Cache.Value == UIImage
+		where
+		Cache.Key == Self.Data,
+		Cache.Value == Self.RenderResult
 		>(cache: Cache) -> CacheRenderer<Self, Cache>
 	{
 		return CacheRenderer(renderer: self, cache: cache)

				return renderer
					.renderImageWithData(data)
					.on(next: { [cache = self.cache] result in
						cache.setValue(result.image, forKey: data)
					})
					.map { $0.image.asCacheMiss }
			}

	Cache: CacheType
	where
	Cache.Key == Renderer.Data,
	Cache.Value == Renderer.RenderResult
>: RendererType {
	private let renderer: Renderer
	private let cache: Cache
