     /// - throws: One of the `JSON.Error` cases thrown by `decode(_:type:)`.
     /// - seealso: `JSON.decode(_:type:)`
     public func array(first: PathFragment, _ rest: PathFragment...) throws -> [JSON] {
-        return try fetchValueAtPath(first, rest) { try $0.array() }
+        return try mapAtPath(first, rest) { try $0.array() }
     }
 
     /// Attempts to decodes many values from a desendant JSON array at a path

        }
    }

    // MARK: Native subscripting convenience

    public subscript(key: Swift.String) -> JSON? {
        let path = CollectionOfOne(PathFragment.Key(key))

    /// - throws: One of the `JSON.Error` cases thrown by `decode(_:type:)`.
    /// - seealso: `JSON.decode(_:type:)`
    public func double(first: PathFragment, _ rest: PathFragment...) throws -> Swift.Double {
        return try mapAtPath(first, rest) { try $0.double() }
    }

    /// Retrieves an `Int` from a path into JSON.
