If you want to learn more about how 'optional' and 'unsound' type systems can still deliver a lot of value there are some interesting articles on Dart's optional types:
* http://journal.stuffwithstuff.com/2011/10/21/wrapping-my-hea...
* http://journal.stuffwithstuff.com/2011/10/21/wrapping-my-hea...