             case 1:
                 self[sub:path[0]].object = newValue.object
             default:
-                var aPath = path; aPath.remove(at: 0)
+                var aPath = path
+                aPath.remove(at: 0)
                 var nextJSON = self[sub: path[0]]
                 nextJSON[aPath] = newValue
                 self[sub: path[0]] = nextJSON

	}

	fileprivate func _rawString(_ encoding: String.Encoding = .utf8, options: [writingOptionsKeys: Any], maxObjectDepth: Int = 10) throws -> String? {
        if maxObjectDepth < 0 {
            throw SwiftyJSONError.invalidJSON
        }
        switch self.type {
		case .dictionary:
			do {

    public static var null: JSON { return JSON(NSNull()) }
}

/// Private method to unwarp an object recursively
private func unwrap(_ object: Any) -> Any {
    switch object {
    case let json as JSON:
