anchor.diff:      stream.readByte();
       return obj;
     }
  +
  +  static dynamic readMapAsObject(Reader reader, String name) {
  +    final obj = readMapAsDynamicObject(reader);
  +    final constructor = TypeManager.getConstructor(name);
  +    return constructor(obj);
  +  }
   }
  
positive.code:     return map;
    }
  
    static dynamic readObject(Reader reader) {
      final stream = reader.stream;
      final index = ValueReader.readInt(stream, tag: TagOpenbrace);
      final typeInfo = reader.getTypeInfo(index);
  
negative.code:     return obj;
    }
  
    static dynamic readObject(Reader reader, String name) {
      final obj = readDynamicObject(reader);
      final constructor = TypeManager.getConstructor(name);
      return constructor(obj);
    }
  
    static dynamic readMapAsDynamicObject(Reader reader) {
      final stream = reader.stream;
      final count = ValueReader.readCount(stream);
      final obj = new DynamicObject();
  