The way I understand it, a terse syntax is useful in getting something working quickly. However, this is not necessarily the best code when it comes to performance or maintenance. Adding "boilerplate" code not only makes the compiler/interpreter more efficient, it also makes the job of the maintainer much easier. Personally, it takes me less time to figure out what a particular piece of code is doing if the datatypes of variables and return values of functions are obvious.
Dart seems to understand this well and so makes typing optional which is useful for prototyping but then also allows you to refactor and explicitly include types to gain performance and improve maintenance for production code. Am I missing something? If not this sounds pretty exciting to me.