anchor.diff:      try {
         var customJson = _toEncodable(object);
         if (!writeJsonValue(customJson)) {
  -        throw new JsonUnsupportedObjectError(object);
  +        throw new JsonUnsupportedObjectError(object,
  +            partialResult: _partialResult);
         }
         _removeSeen(object);
       } catch (e) {
  -      throw new JsonUnsupportedObjectError(object, cause: e);
  +      throw new JsonUnsupportedObjectError(object,
  +          cause: e, partialResult: _partialResult);
       }
     }
   
  
positive.code:  * serializable, the [cause] is null.
   */
  class JsonUnsupportedObjectError extends Error {
    /** The object that could not be serialized. */
    final unsupportedObject;
    /** The exception thrown when trying to convert the object. */
    final cause;
  
    JsonUnsupportedObjectError(this.unsupportedObject, {this.cause});
  
    String toString() {
      if (cause != null) {
        return "Converting object to an encodable object failed.";
      } else {
        return "Converting object did not return an encodable object.";
      }
    }
  }
  
  
negative.code:     buffer = null;
      index = 0;
    }
  
    String get _partialResult => null;
  
    void writeNumber(num number) {
      writeAsciiString(number.toString());
  