     {
         return nil
     }
-    #else
-    guard let first = keyPathComponents.first, case let nested?? = (JSON as AnyObject)[first], !(nested is NSNull) else {
-        return nil
-    }
-    #endif
 
     if keyPathComponents.count == 1 {
         return nested

//  Copyright (c) 2015 Syo Ikeda. All rights reserved.
//

import Foundation

public struct Extractor {
    public let rawValue: Any

// `ArraySlice` is used for performance optimization.
// See https://gist.github.com/norio-nomura/d9ec7212f2cfde3fb662.
private func valueFor<C: Collection>(_ keyPathComponents: C, _ JSON: Any) -> Any? where C.Iterator.Element == String, C.SubSequence == C {
    guard
        let first = keyPathComponents.first,
        let nativeDict = JSON as? [String: Any],
