anchor.diff:        bool useDeferredSourceReads) async {
       int shards = _options.codegenShards;
       JClosedWorld closedWorld = globalTypeInferenceResults.closedWorld;
  -    Map<MemberEntity, Deferrable<CodegenResult>> results = {};
  +    Map<MemberEntity, CodegenResult> results = {};
       for (int shard = 0; shard < shards; shard++) {
         Uri uri = Uri.parse('${_options.readCodegenUri}$shard');
         await measureIoSubtask('deserialize codegen', () async {
  
positive.code:         importedIndices: importedIndices,
          useDeferredStrategy: useDeferredSourceReads);
      backendStrategy.prepareCodegenReader(source);
      Map<MemberEntity, Deferrable<CodegenResult>> codegenResults =
          source.readMemberMap((MemberEntity member) {
        return source.readDeferrable(() {
          List<ModularName> modularNames = [];
          List<ModularExpression> modularExpressions = [];
          CodegenReader reader =
              CodegenReaderImpl(closedWorld, modularNames, modularExpressions);
          source.registerCodegenReader(reader);
          CodegenResult result = CodegenResult.readFromDataSource(
              source, modularNames, modularExpressions);
          source.deregisterCodegenReader(reader);
          return result;
        });
      });
      _reporter.log('Read ${codegenResults.length} members from ${uri}');
      results.addAll(codegenResults);
  
negative.code:       Uri uri,
        api.Input<List<int>> dataInput,
        DataSourceIndices importedIndices,
        Map<MemberEntity, CodegenResult> results,
        bool useDeferredSourceReads) {
      DataSourceReader source = DataSourceReader(
          BinaryDataSource(dataInput.data, stringInterner: _stringInterner),
  