anchor.diff:  class PigeonsonParser {
     String rootType;
     var catalog;
  -  var currentMetadata;
  -  String currentType;
  -  String key;
  -  Object value;
  -  Object currentContainer;
  -  int currentIndex;
     Uint8List buf;
     int bufPos;
     int bufLength;
     PigeonsonParser(this.rootType, this.catalog) {
       
     }
  -  PigeonStruct parse(str) {
  -    this.buf=str;
  +  PigeonStruct parse(bytes) {
  +    this.buf=bytes;
       this.bufPos=0;
  -    this.bufLength=str.length;
  +    this.bufLength=bytes.length;
       var result = readGeneric(_PIGEON, rootType);
       if (bufPos!=bufLength) throw "unparsed data";
       return result;
  
positive.code:   writeInt(value) {
      _ensureSpace(5);
      writeType(_INT);
      buf[bufPos]=value;
      buf[bufPos+1]=value>>8;
      buf[bufPos+2]=value>>16;
  
negative.code:     int len = readLength(); 
      var list=new List<String>(len);  
      for (int i=0; i<len; i++) {
         readType(_STRING1); 
         list[i]=readString();
      }    
      
  