This is a bug.
The question was answered by John Messerly on the Web UI mailing list (see https://groups.google.com/a/dartlang.org/d/msg/web-ui/WRLhW8fIm_E/FGdtvvnADT4J).
You can read about the bug at:
https://github.com/dart-lang/bleeding_edge/blob/master/dart/pkg/observe/lib/src/observable.dart#L117
Once the bug is fixed, I'll update the answer here.