Swift 4 Decodificable con claves desconocidas hasta el momento de decodificación

¿Cómo hace frente el protocolo Swift 4 Decodable a un diccionario que contiene una clave cuyo nombre no se conoce hasta el tiempo de ejecución? Por ejemplo:

  [
    {
      "categoryName": "Trending",
      "Trending": [
        {
          "category": "Trending",
          "trailerPrice": "",
          "isFavourit": null,
          "isWatchlist": null
        }
      ]
    },
    {
      "categoryName": "Comedy",
      "Comedy": [
        {
          "category": "Comedy",
          "trailerPrice": "",
          "isFavourit": null,
          "isWatchlist": null
        }
      ]
    }
  ]

Aquí tenemos una gran variedad de diccionarios; el primero tiene llavescategoryName yTrending, mientras que el segundo tiene llavescategoryName yComedy. El valor de lacategoryName clave me dice el nombre de la segunda clave. ¿Cómo expreso eso usando Decodable?

Respuestas a la pregunta(3)

Su respuesta a la pregunta