anchor.diff:    //   in the type byte (using _kNull, _kTrue, _kFalse)
     // * Integers representable in 32 bits are encoded using 4 bytes two's
     //   complement representation.
  -  // * Larger integers representable in 64 bits are encoded using 8 bytes two's
  -  //   complement representation.
  -  // * Still larger integers are encoded using their hexadecimal string
  -  //   representation. First the length of that is encoded in the expanding
  -  //   format, then follows the UTF-8 representation of the hex string.
  +  // * Larger integers are encoded using 8 bytes two's complement
  +  //   representation.
     // * doubles are encoded using the IEEE 754 64-bit double-precision binary
     //   format.
     // * Strings are encoded using their UTF-8 representation. First the length
  
positive.code:     StandardMessageCodec._writeValue(buffer, result);
      return buffer.done();
    }
  
  
    @override
    ByteData encodeErrorEnvelope({@required String code, String message, dynamic details}) {
  
negative.code:       if (-0x7fffffff - 1 <= value && value <= 0x7fffffff) {
          buffer.putUint8(_kInt32);
          buffer.putInt32(value);
        } else {
          buffer.putUint8(_kInt64);
          buffer.putInt64(value);
        }
      } else if (value is double) {
        buffer.putUint8(_kFloat64);
  