Brian Hulley wrote:
splitWith :: (v -> Bool) -> c -> (c,c)
splitWith p t
| isEmpty t = (empty, empty)
| p (measure t) =
let
(l,x,r) = splitWithInternal p mempty t
in (l, pushL x r)
| otherwise = (empty, empty)
Sorry it should be:
| otherwise = (t, empty)