Estruturas Swift: manipulando vários tipos para uma única propriedade

Estou usando o Swift 4 e estou tentando analisar alguns dados JSON que, aparentemente, em alguns casos podem ter valores de tipo diferentes para a mesma chave, por exemplo:

{
    "type": 0.0
}

e

{
    "type": "12.44591406"
}

Na verdade, estou preso a definir minhastruct porque não consigo descobrir como lidar com este caso porque

struct ItemRaw: Codable {
    let parentType: String

    enum CodingKeys: String, CodingKey {
        case parentType = "type"
    }
}

joga"Expected to decode String but found a number instead."e, naturalmente,

struct ItemRaw: Codable {
    let parentType: Float

    enum CodingKeys: String, CodingKey {
        case parentType = "type"
    }
}

joga"Expected to decode Float but found a string/data instead." adequadamente.

Como posso lidar com esses casos (e similares) ao definir meustruct?

questionAnswers(3)

yourAnswerToTheQuestion