static A optPar(ThreadLocal tl, A defaultValue) { A a = tl.get(); if (a != null) { tl.set(null); ret a; } ret defaultValue; } static A optPar(ThreadLocal tl) { ret optPar(tl, null); } static A optPar(O[] params, S name) { for (int i = 0; i+1 < l(params); i += 2) if (eq(params[i], name)) ret params[i+1]; null; }