Supporting non-nullable types in Dart
code.google.comVery interesting discussion, although there already are solutions to some of these problems in other type systems.
Erlang also has optional type annotations via the dialyzer tool and all types are by default non-nullable.
Generally I think that the dart language implementors should try harder not to copy language design fails from Java / C++, like null-pointers or half-baked enumeration types.