What is the proper syntax to remove an item from an assembly at run-time? I tried “let the item be a random X which is part of the Y; now the X is not part of anything.” but it was too vague.

“remove item from play”. Or if you want the part to stay in the room where it was, “now item is in the location of Y.”

I’m not sure about this, but I’m guessing that “Now every X that is part of the Y is off-stage” might work a bit more efficiently both in terms of writing your code and in terms of processor time (not that it should make any difference). I think “now… is off-stage” is the same as “remove… from play.”

And that will update the relation appropriately? Cool.

Yes, it updates the relation.

“Remove from play” has the same effect as “now is off-stage.” (But the former can only be used on single items, not descriptions.)

“Now every X that is part of the Y is off-stage” has to iterate through all X’s, so it’s somewhat more expensive. Unless you expect a lot of X’s to be part of the Y.