Тип надо проверить, а не пообещать
Дженерик, который встречается только в возвращаемом типе, выглядит удобно, но обманывает. Вывести его не из чего, поэтому вызывающий код просто пишет нужный тип в угловых скобках, и функция «возвращает» его, ничего не проверив.
В задании парсер JSON:

