`ispan``pred``ilist`procedure`ibreak``pred``ilist`procedure`ispan`splits the`ilist`into the longest initial prefix whose elements all satisfy`pred`, and the remaining tail.`ibreak`inverts the sense of the predicate: the tail commences with the first element of the input`ilist`that satisfies the predicate.In other words:

`ispan`finds the initial span of elements satisfying`pred`, and`ibreak`breaks the`ilist`at the first element satisfying`pred`.`ispan`is equivalent to(values (itake-while pred ilist) (idrop-while pred ilist)) (ispan even? (iq 2 18 3 10 22 9)) => (2 18) (3 10 22 9) (ibreak even? (iq 3 1 4 1 5 9)) => (3 1) (4 1 5 9)