Here's something I thought of recently: right now in C2, like with 0.x, you can store any type in any instance variable. By type I mean boolean, number or string. So you can assign "hello" to a number instance variable.
As a result the editor can't assume that instance variables have any particular type, in case you change it at runtime. For example, Sprite: Set X to Sprite.MyStringInstanceVariable has to be accepted, in case you set that instance variable to a number at another time.
What I think would be a good idea is to strong-type instance variables. This means you can't assign a string to a number instance variable - if it is initially set to a number, it always stores a number, and can never store a string. Likewise string instance variables will always store a string, and never a number (although they can store numbers as character strings).
This slightly reduces their flexibility, but improves the editor checking - now the editor can reject setting X to Sprite.MyStringInstanceVariable, which was probably a mistake anyway.
Does anyone use the weak-typing (storing strings in number variables etc.)? I think any time you need to do that an easy workaround is just to add another instance variable. It makes sense to me. Is there general agreement?