chunk compute by uses split

There was an error in `compute_up(By, ChunkIterator)`  I took this as an opportunity to stretch expr.split, which is designed to make these things easy.