Wow, that's a surprise! Just yesterday I was thinking that it would be really nice to have them for a piece of code ;)
But shouldn't we keep the syntax closer to normal attributes and other languages(*)? I see a lot of arguments for doing that, with the only counter-argument that they would be in the same namespace as the built-in attributes (which should not be that bad, as this is very low level language stuff). (*) i.e. @mytype or @("string") and without the '[]'