anchor.diff:                scoreCardKey(packageName, v, runtimeVersion: runtimeVersion)
                     .append(ScoreCardReport, id: reportType))
             .toList();
  -      final items = await _db.lookup<ScoreCardReport>(keys);
  -      results.addAll(items.map((item) => item?.reportData));
  -    }
  +      final f = pool.withResource(() async {
  +        final items = await _db.lookup<ScoreCardReport>(keys);
  +        return items.map((item) => item?.reportData).toList();
  +      });
  +      futures.add(f);
  +    }
  +    final lists = await Future.wait(futures);
  +    final results = lists.fold<List<ReportData>>(
  +      <ReportData>[],
  +      (r, list) => r..addAll(list),
  +    );
  +    await pool.close();
       return results;
     }
   
  
positive.code: ///
  /// The Datastore limit is 1000, but that caused resource constraint issues
  /// https://github.com/dart-lang/pub-dev/issues/4040
  const _batchLookupMaxKeyCount = 100;
  
  /// Sets the active scorecard backend.
  void registerScoreCardBackend(ScoreCardBackend backend) =>
  
negative.code:     @required String reportType,
      String runtimeVersion,
    }) async {
      final pool = Pool(_batchLookupConcurrency);
      final futures = <Future<List<ReportData>>>[];
      for (var start = 0;
          start < versions.length;
          start += _batchLookupMaxKeyCount) {
  