static LL mapLike streaksAndNonStreaks(O pred, L l) {
new LL out;
int start = 0;
Bool last = null;
for i over l: {
Bool result = (Bool) callF(pred, l.get(i));
if (last != null && result != null && neq(result, last)) {
out.add(subList(l, start, i));
start = i;
}
if (result != null) last = result;
}
if (start < l(l))
out.add(subList(l, start));
ret out;
}