removing suspended middle, i don't see how it's going to be better in practice since measure() evaluates it all the way down anyway.  i'm going to change the behavior of split instead to make it more efficient in a strict setting.