I am trying to drop a set of items from a nested table; for instance given the following table

```
tree:{[t;col]
    if[1=count col; :![t;();0b;enlist[`name]!col]];
    f:first col;
    c:cols[t] except f;
    r:1_col;
    :?[t;();(enlist `name)!enlist f ;`val`child!((sum;`val);({[r;c;l] tree[flip c!l;r]};enlist r;enlist c;(enlist, c )))]
   };

t:flip`cat`dog`caps`val`val1!flip((cross/)(0 1;`$(5 1)#.Q.a;`$(5 1)#.Q.A;til 5;5+til 5));

// derive tree from aforementioned table
tre:tree[t;`cat`dog`caps]; 

// notably returns correct result indexed by name
.[tre;(0;`child)] enlist[`name]!enlist[`a`b`c]; 

// does not work ???
.[tre;(0;`child);_;enlist[`name]!enlist[`a`b`c]]; 

```

I have thought of using the following as a solution

```
.[tre;(0;`child);{delete from y where name in x}[`a`b`c]];

```

I just wanted to check if there is a more concise (genereally accepted) method. Such as using the enlist[`name]!enlist[`a`b`c]; index to achieve this.

In KDB+ How should one appropriately drop a given set of indices from a nested tree?
Thanks for your guidance.