         let codingKey = _DictionaryCodingKey(intValue: key as! Int)
         try container.encode(value, forKey: codingKey)
       }
-    } else if #available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *),
+    } else if #available(SwiftStdlib 5.6, *),
               Key.self is CodingKeyRepresentable.Type {
       // Since the keys are CodingKeyRepresentable, we can use the `codingKey`
       // to create `_DictionaryCodingKey` instances.

  }
}

@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
extension String: CodingKeyRepresentable {
  @available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
  public var codingKey: CodingKey {
    _DictionaryCodingKey(stringValue: self)
  }
  @available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
  public init?<T: CodingKey>(codingKey: T) {
    self = codingKey.stringValue
  }

        let value = try container.decode(Value.self, forKey: key)
        self[key.intValue! as! Key] = value
      }
    } else if #available(SwiftStdlib 5.6, *),
              let keyType = Key.self as? CodingKeyRepresentable.Type {
      // The keys are CodingKeyRepresentable, so we should be able to expect
      // a keyed container.
