@prog public-drop.muf 1 999 d 1 i : doesn't-belong? dup thing? if dup owner true-wizard? if pop 0 exit then dup getlink loc @ dbcmp if pop 0 exit then pop 1 else dup program? eif pop 1 else pop 0 then ; : main pop 0 loc @ contents begin dup while dup doesn't-belong? if swap 1 + over then next loop pop begin dup 0 > while 1 - swap dup owner moveto loop pop ; . c q