static L<S> withLeadingSquareBracketStuffNotContaining(fS s, L<S> l) {
  ret [S x : unnull(l) | !cic(leadingSquareBracketStuff(x), s)];
}

static L<S> withLeadingSquareBracketStuffNotContaining(L<S> l, fS s) {
  ret withLeadingSquareBracketStuffNotContaining(s, l);
}