anchor.diff: -// Copyright (c) 2011, the Dart project authors.  Please see the AUTHORS file
  +// Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file
   // for details. All rights reserved. Use of this source code is governed by a
   // BSD-style license that can be found in the LICENSE file.
   
  
positive.code:   /**
     * Takes a string in JSON notation and returns the value it
     * represents.  The resulting value is one of the following:
     *   null
     *   a bool
     *   a double
     *   a String
     *   an Array of values (recursively)
     *   a Map from property names to values (recursively)
     */
    static Object parse(String str) {
      return _JSON.parse(str, (_, obj) {
  
negative.code:    * Takes a value and returns a string in JSON notation
     * representing its value, or returns null if the value is not representable
     * in JSON.  A representable value is one of the following:
     *  * null
     *  * a bool
     *  * a double
     *  * a String
     *  * an Array of values (recursively)
     *  * a Map from property names to values (recursively)
     */
    // TODO(jmesserly): handle any List subtype? Right now it's converted as
    // something like:
  