это считай как генерики. были типы, а есть типы, которые зависят от типов
есть код. а есть код высшего порядка - когда код может делать код
вот интересно, в расте сериализация на макросах сделана, как я понимаю. А как оно сериализует типы, которые не были известны на момент компиляции?