svoid dm_action(fS desc, final Runnable r, O... _) { optPar bool printName = true; if (printName) print(desc); runInterruptibly(voidfunc(final Runnable interrupt) { temp AutoCloseable action = dm_currentAction(desc, r { print("INTERRUPTED"); callF(interrupt) }); callF(r); }); } svoid dm_action(Runnable r) { dm_action(str(r), r); }