Это все правильно и красиво. И даже известно

Для дипломатической беседы.
А для конкретной - можно обсуждать тот самый тип TData (в рамках нового проекта) будучи умудренными идеями MT, опытом проекта Дельфи, проблемами необходимости универсального интерфейса. Можно и идеологию разрешения типа ReadXXX функций на этапе компиляции попробовать внедрить.
И все это - не оглядываясь на совместимость с предыдущими кодами.
В общем - наливай, да пей
