             e <| "number",
             (e <| "raw_value").map { (e: Extractor) in e.rawValue },
             e <| [ "nested", "value" ],
+            e <|-| [ "nested", "dict" ],
             e <|| "array",
             e <||? "arrayOption",
             e <|-| "dictionary",

    let rawValue: AnyObject

    let nested: String
    let array: [String]
    let arrayOption: [String]?
    let dictionary: [String: Int]

        XCTAssert(person?.rawValue as? String == "RawValue")

        XCTAssert(person?.nested == "The nested value")
        XCTAssert(person?.nestedDict["key"] == "The nested value")
        XCTAssert(person?.array.count == 2)
        XCTAssert(person?.array.first == "123")
        XCTAssert(person?.arrayOption == nil)
