Такое ощущение, что пишите вы на клингонском. Конкретную проблему опишите.
Сорян.
В пасте написал.
var type: Basic.Type = Child.self
// Тут у меня енам который отдает тип наследника Basiс, который реализовывает Decodablе
в func doAction
print(T.self, type)
срабатывает неадекватно, T здесь выводит Basic, a type - Child
конечное решение будет использоваться как
_ = try decode.([T].self, from: data)
где [T].self = [Child].self, а не [Basic].self