+/// A JSON value.
 public enum JSON: Codable {
+    /// A dictionary of string-keyed JSON values
     case dictionary([String: JSON])
+    /// An array of JSON values
     case array([JSON])
+    /// A string of characters
     case string(String)
+    /// A Double number
     case number(Double)
+    /// A boolean value
     case bool(Bool)
+    /// The JSON `null` value
     case null
 
     public init(from decoder: Decoder) throws {

        }
    }
    
    public func isNull() throws -> Bool {
        switch self {
        case .value(let v):

            return nil
        }
    }
    
    /// Returns an integer for this `JSON` in case it is a number that is losslesly
    /// convertible to `Int`, `nil` otherwise.
    var int: Int? {
        switch self {
        case .number(let number):
