anchor.diff:    ///  - Double (suitable for passing to Double.parse())
     ///  - Int (suitable for passing to int.parse())
     ///  - String (value may be truncated)
  -  @optional String valueAsString;
  +  @optional
  +  String valueAsString;
   
     /// The valueAsString for String references may be truncated. If so, this
     /// property is added with the value 'true'.
     ///
     /// New code should use 'length' and 'count' instead.
  -  @optional bool valueAsStringIsTruncated;
  +  @optional
  +  bool valueAsStringIsTruncated;
   
     /// The length of a List or the number of associations in a Map or the number
     /// of codeunits in a String.
  
positive.code:   /// Note that the size can be zero for some objects. In the current VM
    /// implementation, this occurs for small integers, which are stored entirely
    /// within their object pointers.
    @optional int size;
  
    Obj();
  
  
negative.code:   ///  - Int32x4List
    ///  - Float32x4List
    ///  - Float64x2List
    @optional
    int length;
  
    /// The name of a Type instance.
    ///
    /// Provided for instance kinds:
    ///  - Type
    @optional
    String name;
  
    /// The corresponding Class if this Type is canonical.
    ///
    /// Provided for instance kinds:
    ///  - Type
    @optional
    ClassRef typeClass;
  
    /// The parameterized class of a type parameter:
    ///
    /// Provided for instance kinds:
    ///  - TypeParameter
    @optional
    ClassRef parameterizedClass;
  
    /// The pattern of a RegExp instance.
    ///
  