             return date
         }
     }
-
-    /// Decode the `Date` as a custom value decoded by the given closure.
-    public static func custom(_ closure: @escaping Closure) -> ObjectDecoder.DateDecodingStrategy {
-        return .init(identifiers: identifiers, closure: closure)
-    }
-
-    private static let identifiers = [Date.self, NSDate.self].map(ObjectIdentifier.init)
 }
 
 extension ObjectDecoder.DecodingStrategy where T == Decimal {

    var codingPath: [CodingKey] { return decoder.codingPath }
    var allKeys: [Key] {
        #if swift(>=4.1)
            return dictionary.keys.compactMap(Key.init)
        #else
            return dictionary.keys.flatMap(Key.init)
        #endif
    }
    func contains(_ key: Key) -> Bool { return dictionary[key.stringValue] != nil }


extension ObjectDecoder.DecodingStrategy {
    /// Decode the `T` as a custom value decoded by the given closure.
    public static func custom(_ closure: @escaping Closure) -> ObjectDecoder.DecodingStrategy<T> {
        return .init(closure: closure)
    }
}

