может `Derive macros define new inputs for the derive attribute. These macros can create new items given the token stream of a struct, enum, or union. They can also define derive macro helper attributes. ` item это любой элемент верхнего уровня, то есть тип тоже