anchor.diff:      if (package != null) {
         await _backfillPackage(package);
       } else {
  +      final pool = Pool(concurrency);
  +      final futures = <Future>[];
  +
         await for (Package p in dbService.query<Package>().run()) {
  -        await _backfillPackage(p.name);
  +        final f = pool.withResource(() => _backfillPackage(p.name));
  +        futures.add(f);
         }
  +
  +      await Future.wait(futures);
  +      await pool.close();
       }
   
       for (User user in _emailToUser.values) {
  
positive.code:     return;
    }
  
    final package = argv['package'] as String;
    await withProdServices(() async {
      registerAccountBackend(AccountBackend(dbService));
  
negative.code: }
  
  Future<User> _lookupUserByEmail(String email) async {
    if (_emailInProgress.containsKey(email)) {
      await _emailInProgress[email].future;
    }
    if (_emailToUser.containsKey(email)) {
      return _emailToUser[email];
    }
    _emailInProgress[email] = Completer();
    final user = await accountBackend.lookupOrCreateUserByEmail(email);
    _emailToUser[email] = user;
    _emailInProgress.remove(email).complete();
    return user;
  }
  
  