 // MARK: - ExpressibleByArrayLiteral
 
 extension JSON: ExpressibleByArrayLiteral {
-    public convenience init(arrayLiteral elements: Any...) {
+    public init(arrayLiteral elements: Any...) {
         self.init(elements)
     }
 }

// MARK: - ExpressibleByDictionaryLiteral

extension JSON: ExpressibleByDictionaryLiteral {
    public convenience init(dictionaryLiteral elements: (String, Any)...) {
        var dictionary = [String: Any](minimumCapacity: elements.count)
        elements.forEach { dictionary[$0] = $1 }
        self.init(dictionary)

import class Foundation.NSNull
import struct Foundation.Data

public struct JSON {
    public let rawValue: Any
    
    public init(_ rawValue: Any) {
        self.rawValue = rawValue
    }
    
    public init(data: Data, options: JSONSerialization.ReadingOptions = .allowFragments) throws {
        do {
            let rawValue = try JSONSerialization.jsonObject(with: data, options: options)
            self.init(rawValue)
