static AutoCloseable tempSyncAdd(Cl l, A a) { if (l == null) null; if (!syncAdd(l, a)) null; ret new tempSyncAdd_undo(l, a); } srecord noeq tempSyncAdd_undo(Cl l, A a) is AutoCloseable { close { syncRemove(l, a); } }