Might this be cleaner with a different syntax class, like `raw-kw-tys` that has the pattern `(~seq kw:keyword type:expr)` and two attributes mandatory and optional.