anchor.diff:      await txn.completed;
     }
   
  -  Future txnDelete(DbRecordProviderWriteTransaction txn, int id) =>
  +  Future txnDelete(DbRecordProviderWriteTransaction txn, K id) =>
         txn.deleteRecord(id);
   
     Future<T> getBySyncId(String syncId) async {
  -    var txn = indexTransaction(syncIdIndex);
  -    var id = await txn.getKey(syncId);
  +    ProviderIndexTransaction<String, T> txn = indexTransaction(syncIdIndex);
  +    K id = await txn.getKey(syncId);
       T record;
       if (id != null) {
         record = await txnGet(txn.store, id);
  
positive.code:   Future<T> getFirstDirty() async {
      var txn = indexTransaction(dirtyIndex);
      var id = await txn.getKey(1); // 1 is dirty
      DbSyncedRecord record;
      if (id != null) {
        record = await txnGet(txn.store, id);
      }
  
negative.code:     if (existingRecord != null) {
        record.version = existingRecord.version + 1;
      } else {
        record.version = 1;
      }
      /*
        if (list.version != existingList.version) {
  