:: (a -> Bool) -> [a] -> ([a], [a]) package:BNFC

spanEnd p l == reverse (span p (reverse l)). Invariant: l == front ++ end where (end, front) = spanEnd p l (From package ghc, module Util.)