     let rawValue: AnyObject
 
     let nested: String
+    let nestedDict: [String: 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?.array.count == 2)
        XCTAssert(person?.array.first == "123")
        XCTAssert(person?.arrayOption == nil)

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