Considering this is a new language, why allow nullable references in the first place? What you call good practice I actually consider a curse.
Like I said, I'm not particularly a fan of Dart.
ie. data Maybe a = Nothing | Just a data Either a b = Left a | Right b instead of (err,result) like in go
http://qconlondon.com/london-2009/presentation/Null+Referenc...