anchor.diff:    registerTranCodec('tr', Transmittable, (Transmittable t) => t.toTranString(), (String s) => new Transmittable.fromTranString(s));
   }
   
  -dynamic _processStringBackToListsAndSets(dynamic col, String s){
  +dynamic _processStringBackToListOrSet(dynamic col, String s){
     if(!(col is Set) && !(col is List)){ throw 'Expecting either List or Set only'; }
     int start = 0;
     while(start < s.length){
  
positive.code:   }else{
      throw new UnregisteredTranCodecError(t);
    }
  }
negative.code:   registerTranCodec('n', num, (num n) => n.toString(), (String s) => num.parse(s));
    registerTranCodec('s', String, (String s) => s, (String s) => s);
    registerTranCodec('b', bool, (bool b) => b ? 't' : 'f', (String s) => s == 't' ? true : false);
    registerTranCodec('l', List, _processIterableToString, (String s) => _processStringBackToListOrSet(new List(), s));
    registerTranCodec('se', Set, _processIterableToString, (String s) => _processStringBackToListOrSet(new Set(), s));
    registerTranCodec('m', Map, _processMapToString, _processStringBackToMap);
    registerTranCodec('r', RegExp, _processRegExpToString, _processStringBackToRegExp);
    registerTranCodec('t', Type, (Type t) => _processTypeToString(t),(String s) => _tranCodecsByKey[s]._type);
    registerTranCodec('d', DateTime, (DateTime d) => d.toString(), (String s) => DateTime.parse(s));
    registerTranCodec('du', Duration, (Duration dur) => '${dur.inMilliseconds}', (String s) => new Duration(milliseconds: num.parse(s)));
  