         }
         
         switch self.options.dateCodingStrategy {
-        case .deferredToDate:
-            self.storage.push(container: value)
-            let date = try Date(from: self)
-            self.storage.popContainer()
-            return date
+//        case .deferredToDate:
+//            self.storage.push(container: value)
+//            let date = try Date(from: self)
+//            self.storage.popContainer()
+//            return date
             
         case .secondsSince1970:
             let double = try self.unbox(value, as: Double.self)!

    
    fileprivate func box(_ date: Date) throws -> JSON {
        switch self.options.dateCodingStrategy {
        case .deferredToDate:
            // Must be called with a surrounding with(pushedKey:) call.
            try date.encode(to: self)
            return self.storage.popContainer()
            
        case .secondsSince1970:
            return .double(date.timeIntervalSince1970)

    
    /// The strategy to use for coding `Date` values.
    public enum DateCodingStrategy {
//        /// Defer to `Date` for choosing a coding. This is the default strategy.
//        case deferredToDate
        
        /// Code the `Date` as a UNIX timestamp (as a JSON number).
        case secondsSince1970
