         }
     }
     
+    /// Attempts to read this subscript access as a boolean value, throwing an
+    /// error if the keypath is invalid, or if the value is not a `Bool`.
     public func bool() throws -> Bool {
         switch self {
         case .value(let v):

        }
    }
    
    public func array() throws -> [JSON] {
        switch self {
        case .value(let v):

        }
    }
    
    /// Attempts to read this subscript access as a dictionary value, throwing an
    /// error if the keypath is invalid, or if the value is not a dictionary.
    public func dictionary() throws -> [String: JSON] {
        switch self {
        case .value(let v):
