простые примеры использования, которые я нашел в нашем коде:
- какая-то функция обходит структуру, и кидает в райтер все что нашла полезное
- другой код райтером собирает ворнинги, тоже обходя структуру
- еще один код, опять же обходя структуру, в райтер собирает имена типов, которые чем-то интересны