> Doesn't it seem strange that a Google-designed language for the future of the web (that's supposed to make development faster and easier) doesn't handle this (basic) requirement easily?
I don't think it's fair to call this a basic requirement. Scala is a 10-year-old language and the state of JSON serialization is still a mess (it's taken the recent macro system to put us anywhere close to sorting it out). Converting between typed and untyped at the boundaries like this is a hard problem, not entirely solved in any language (Java has basically given up and just used reflection and annotations, which is an answer, but not a very pleasant one). I think Dart is entirely right to take it slowly and make it a matter for third-party libraries rather than a core language feature.