         }
     
     /**
-      Adds global configuration to apply to all resources in this service. For example:
+      Applies global configuration to all resources in this service. The `configurer` closure receives a mutable
+      `Configuration`, referenced as `$0.config`, which it may modify as it sees fit.
+      
+      For example:
       
           service.configure { $0.config.headers["Foo"] = "bar" }
       

      
      The optional `description` is used for logging purposes only.
      
      Matching configuration closures apply in the order they were added, whether global or not. That means that you
      will usually want to apply your global configuration first, then your resource-specific configuration.
      
      - SeeAlso: `configure(_:configurer:)`
      - SeeAlso: `invalidateConfiguration()`
    */
    public final func configure(

      - `/foo*/bar` matches `/foo/bar` and `/food/bar`.
    
      The pattern ignores the resource’s query string.
    */
    public func configurationPattern(service: Service) -> NSURL -> Bool
        {
        let prefix = containsRegex("^[a-z]+:")
            ? ""                               // If pattern has a protocol, interpret as absolute URL
            : service.baseURL!.absoluteString  // Pattern is relative to API base
        let resolvedPattern = prefix + stripPrefix("/")
        let pattern = NSRegularExpression.compile(
            NSRegularExpression.escapedPatternForString(resolvedPattern)
                .replaceString("\\*\\*\\/", "([^:?]*/|)")
