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)