     /// - parameter ifNull: If `true`, target values matching `Null` are treated
     ///             as `nil`.
     /// - returns: A text `String` if a value could be found, otherwise `nil`.
-    /// - throws: One of the `JSON.Error` cases thrown by calling `mapOptionalAtPath(_:ifNull:transform:)`.
-    /// - seealso: `valueAtPath(_:detectNull)`
+    /// - throws: One of the following errors contained in `JSON.Error`:
+    ///   * `KeyNotFound`: A key `path` does not exist inside a descendant
+    ///     `JSON` dictionary.
+    ///   * `IndexOutOfBounds`: An index `path` is outside the bounds of a
+    ///     descendant `JSON` array.
+    ///   * `UnexpectedSubscript`: A `path` item cannot be used with the
+    ///     corresponding `JSON` value.
+    ///   * `TypeNotConvertible`: The target value's type inside of the `JSON`
+    ///     instance does not match the decoded value.
     public func string(path: JSONPathType..., ifNull: Swift.Bool) throws -> Swift.String? {
         return try mapOptionalAtPath(path, ifNull: ifNull, transform: Swift.String.init)
     }

    /// - parameter ifNull: If `true`, target values matching `Null` are treated
    ///             as `nil`.
    /// - returns: A numeric `Int` if a value could be found, otherwise `nil`.
    /// - throws: One of the `JSON.Error` cases thrown by calling `mapOptionalAtPath(_:ifNull:transform:)`.
    /// - seealso: `valueAtPath(_:detectNull)`
    public func int(path: JSONPathType..., ifNull: Swift.Bool) throws -> Swift.Int? {
        return try mapOptionalAtPath(path, ifNull: ifNull, transform: Swift.Int.init)
    }

    /// - parameter ifNotFound: If `true`, missing key or index errors are
    ///                         treated as `nil`.
    /// - returns: An `Array` of decoded elements if found, otherwise `nil`.
    /// - throws: One of the following errors contained in `JSON.Error`:
    ///   * `KeyNotFound`: A key `path` does not exist inside a descendant
    ///     `JSON` dictionary.
    ///   * `IndexOutOfBounds`: An index `path` is outside the bounds of a
    ///     descendant `JSON` array.
    ///   * `UnexpectedSubscript`: A `path` item cannot be used with the
    ///     corresponding `JSON` value.
    ///   * `TypeNotConvertible`: The target value's type inside of the `JSON`
    ///     instance does not match the decoded value.
    ///   * Any error that arises from decoding the value.
    public func arrayOf<Decoded: JSONDecodable>(path: JSONPathType..., ifNull: Swift.Bool) throws -> [Decoded]? {
        return try mapOptionalAtPath(path, ifNull: ifNull, transform: JSON.getArrayOf)
    }
