         }
     }
 
+    /// Stops prefetching images for the given URLs and cancels outstanding
+    /// requests.
+    public func stopPrefetching(with urls: [URL]) {
+        stopPrefetching(with: urls.map { ImageRequest(url: $0) })
+    }
+
     /// Stops prefetching images for the given requests and cancels outstanding
     /// requests.
     ///
     /// You don't need to balance the number of `start` and `stop` requests.
     /// If you have multiple screens with prefetching, create multiple instances
     /// of ``ImagePrefetcher``.
-    public func stopPrefetching(with requests: [any ImageRequestConvertible]) {
+    public func stopPrefetching(with requests: [ImageRequest]) {
         pipeline.queue.async {
             for request in requests {
                 self._stopPrefetching(with: request.asImageRequest())

        #endif
    }

    /// Starts prefetching images for the given requests.
    ///
    /// When you need to display the same image later, use the ``ImagePipeline``

    ///
    /// The priority of the requests is set to the priority of the prefetcher
    /// (`.low` by default).
    public func startPrefetching(with requests: [ImageRequest]) {
        pipeline.queue.async {
            for request in requests {
                var request = request.asImageRequest()
