split-with

Returns an array of [takeWhile(coll, pred), dropWhile(coll, pred)]

take-while

Returns an array of successive items from coll while pred(item) returns true.