As you all probably know, I've been tinkering with the type system in Pike 7.7 for a while now, and I've now reached the point of implementing attributed types.
The question once again is "which syntax do you prefer?":
GCC-style:
void __attribute(noreturn) error(string msg); string werror(string __attribute(sprintf_format) fmt, mixed __attribute(sprintf_args) args);
or (analogous with other pike types):
__attribute(noreturn, void) throw(mixed); string werror(__attribute(sprintf_format, string) fmt, __attribute(sprintf_args, mixed) args);