anchor.diff:   *
    * The [unsupportedObject] field holds that object that failed to be serialized.
    *
  - * If an object isn't directly serializable, the serializer calls the 'toJson'
  + * If an object isn't directly serializable, the serializer calls the `toJson`
    * method on the object. If that call fails, the error will be stored in the
    * [cause] field. If the call returns an object that isn't directly
  - * serializable, the [cause] is be null.
  + * serializable, the [cause] is null.
    */
   class JsonUnsupportedObjectError extends Error {
     /** The object that could not be serialized. */
  
positive.code:    * Converts [object] to a JSON [String].
     *
     * Directly serializable values are [num], [String], [bool], and [Null], as
     * well as some [List] and [Map] values.
     * For [List], the elements must all be serializable.
     * For [Map], the keys must be [String] and the values must be serializable.
     *
     * If a value is any other type is attempted serialized, the conversion
     * function provided in the constructor is invoked with the object as argument
     * and the result, which must be a directly serializable value,
     * is serialized instead of the original value.
     *
     * If the conversion throws, or returns a value that is not directly
     * serializable, a [JsonUnsupportedObjectError] exception is thrown.
  
negative.code:  *
   * Examples:
   *
   *     var encoded = JSON.encode([1, 2, { "a": null }]);
   *     var decoded = JSON.decode('["foo", { "bar": 499 }]');
   */
  const JsonCodec JSON = const JsonCodec();
  
  