     
     /// 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
+//        /// 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

        }
        
        switch self.options.dateCodingStrategy {
        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)
