Add an OLEAST constant that is to LEAST as OWHILE is to WHILE.
Define a general “split at first element satisfying P” function on lists.

Perhaps unnecessarily generic in its use of predicates that also get
the indexes of the element and taking a continuation, but the index
argument to the predicate can be ignored with K, and to return a pair
you just need to pass $, so that

    splitAtPki (K P) $,

is a function that returns the pair of lists where the first element
of the second list satisfies P unless there is no such in all of the
list, in which case the second list will be empty.