anchor.diff:      return completer.future;
     }
   
  -  async.Future<Map> decodeDictionElements(hetima.EasyParser parser) {
  -    async.Completer<Map> completer = new async.Completer();
  +  Future<Map> decodeDictionElements(hetima.EasyParser parser) {
  +    Completer<Map> completer = new Completer();
       Map ret = new Map();
  -    async.Future<Object> elem() {
  +    Future<Object> elem() {
         String key = "";
         return decodeString(parser).then((String v) {
           key = v;
  
positive.code:     return completer.future;
    }
  
    async.Future<String> decodeString(hetima.EasyParser parser) {
      async.Completer<String> completer = new async.Completer();
      decodeBytes(parser).then((List<int> v) {
        try {
          completer.complete(convert.UTF8.decode(v));
  
negative.code:     return completer.future;
    }
  
    Future<List<int>> decodeBytes(hetima.EasyParser parser) {
      Completer<List<int>> completer = new Completer();
      int length = 0;
      parser.nextBytePatternByUnmatch(new hetima.EasyParserIncludeMatcher(DIGIT)).then((List<int> lengthList) {
        if (lengthList.length == 0) {
  