sbool subListEquals(L l, L pat, int i) {
if (i < 0) false;
int j = i+l(pat);
if (j > l(l)) false;
for (int k = i; k < j; k++)
if (!eq(l.get(k), pat.get(k-i)))
false;
true;
}
sbool subListEquals(L l, int i, A... pat) {
ret subListEquals(l, asVirtualList(pat), i);
}