sS replaceDollarVars2(S s, O... params) { if (empty(params)) ret s; MapSO vars = mapKeys dropDollarPrefix((MapSO) litcimap(params)); ret replaceDollarVars2_dyn(s, var -> strOrNull(vars.get(var))); }