Type makes it sound like a type-hint, and on a number of other nodes $type is used for exactly that. Use $flags to hold modifiers instead.
A Nop statement will be inserted into statement lists if there are any trailing comments in the list (which would otherwise not be associated with any node). The pretty printer output currently still contains a superfluous newline.
With error recovery this is fluid. Using .test for everything.