anchor.diff:    Uint8List readUint8List(int length) {
       assert(length <= available); // contract
       assert(_start < _buffer.first.length); // invariant
  +    if (length == 0) {
  +      return Uint8List(0);
  +    }
       int packetOffset = _cursor;
       for (Uint8List packet in _buffer) {
  -      if (packetOffset > packet.length) {
  +      if (packetOffset >= packet.length) {
           packetOffset -= packet.length;
           continue;
         }
  
positive.code: 
    final Queue<Uint8List> _buffer = Queue<Uint8List>();
  
    int _start = 0;
    int _cursor = 0;
    int _length = 0;
  
    void add(Uint8List data) {
      _buffer.add(data);
  
negative.code:   }
  
    void flatten() {
      Uint8List bytes = Uint8List(_length - _start);
      _length = bytes.length;
      _cursor -= _start;
      int index = 0;
  