repeatUntil, repeatWhile, some extra data plumbing (over2..4), docs