It really depends on the semantics of those annotations.
For example: how is v:Array.<int> enforced (and is it enforced at all)?
Type annotations can be a good to seed type inference analysis or adjust collected type feedback. But unless they guarantee stability of objects shapes (e.g. Array.<float> can contain only floating point numbers) they'll give little.
Something like AS3 (Harmony) syntax:
Sidenote: I really want someone to write a Coffeescript compiler that supports type annotations like the above. It can strip them out when it compiles the code; I just want it to yell at me if I violate one of my declared types.