static S actuallyDropSuffix(S suffix, S s) { if (!endsWith(s, suffix)) fail("Can't drop suffix: " + quote(suffix) + " from " + quote(s)); ret substring(s, 0, l(s)-l(suffix)); }