I think it's a well thought out proposal. Thanks for doing this!
A couple thoughts:
1. const can be both a storage class and a type constructor. Scope is only a
storage class. The scope(int) syntax implies scope is a type constructor, too.
const int* a; // const used as storage class
const(int*) b; // const used as type constructor
The type constructor syntax should be disallowed for const.
2. I think there is quite a bit of overlap between scope and ref. Essentially,
ref does everything scope does, except deal with classes. I'm not terribly
comfortable with such a large overlap, it implies something is wrong. I don't
have an answer at the moment.