static bool startsWith(S a, S b) { ret a != null && a.startsWith(b); } // also trims static bool startsWith(S a, S b, Matches m) { if (!startsWith(a, b)) false; m.m = new S[] {trim(dropPrefix(b, a))}; true; } static bool startsWith(L a, L b) { if (a == null || l(b) > l(a)) ret false; for (int i = 0; i < l(b); i++) if (neq(a.get(i), b.get(i))) ret false; ret true; }