applyListUpdate(op) {
    const {index, visible} = this.findListElement(op.obj, op.key)
    const meta = this.metadata[op.obj][index]
    if (op.action === 'del') {
      if (!meta.deleted) this.byObjId[op.obj].splice(visible, 1)
      meta.deleted = true
    } else if (this.compareOpIds(meta.valueId, op.opId)) {
      if (!meta.deleted) {
        this.byObjId[op.obj][visible] = op.action.startsWith('make') ? this.byObjId[op.opId] : op.value
      }
      meta.valueId = op.opId
    }
  }
Applies a list element update (setting the value of a list element, or deleting a list element).