just an idea on attributes and varyings:

wouldn't it make sense to allow a

attribute varying <type> <identifier>;
or
varying attribute <type> <identifier>;

in the vertex shader, with corresponding

varying <type> <identifier>;
in the fragment shader?
?

So that you can use the same identifier for the attribute as for the varying you use in the fragment shader?

Have I overlooked something or do you really have to use the work around with two different identifiers with a assign from attribute to varying to get your attribute into the fragment shader? I my opinion this is a little bit annoying.