anchor.diff:                  _convMap[info.children.values.first.type].decode(vals[pos]);
             } else if (info.children.values.first.ctype ==
                 _CmplxType.TYPESEEKER) {
  -            Type type = _getTypeSeeker(info.children.values.first);
  +            final type = _getTypeSeeker(info.children.values.first);
               list[i] = _decodeObj(type);
             } else {
               list[i] = _decodeObj(info.children.values.first.type);
             }
           }
  -        return list;
  +        return list as T;
         case _CmplxType.MAP:
           final map = new Map<String, dynamic>();
           for (int i = 0; i < length; i++) {
  
positive.code:       if (keys[i] == ele.typeSeeker.key) {
          type = ele.typeSeeker.finder(vals[i]);
          break;
        }
      }
      return type;
  
negative.code:           } else if (_convMap.containsKey(ele.type)) {
              instance.setField(ele.symbol, _convMap[ele.type].decode(vals[pos]));
            } else if (ele.ctype == _CmplxType.TYPESEEKER) {
              final type = _getTypeSeeker(ele);
              instance.setField(ele.symbol, _decodeObj(type));
            } else {
              instance.setField(ele.symbol, _decodeObj(ele.type));
  