static S matchBigX(S pat, S s) {
  L<S> tokPat = javaTokC(pat), tok = javaTokC(s);
  if (l(tokPat) != l(tok)) null;
  new Var<S> x;
  for i over tokPat: {
    S p = tokPat.get(i), t = tok.get(i);
    if (eq(p, "X")) {
      if (!strictSetIC(x, t)) null;
    } else if (neqic(p, t)) null;
  }
  ret unnull(x!);
}