liquidhaskell-0.8.0.2: tests/pos/T1065.hs
{-# LANGUAGE TypeFamilies #-}
module T1065 where
-- LH should be able to prove this program terminating
-- See NOTE [Don't choose transform-rec binders as decreasing params]
groupByFB :: ([a] -> lst -> lst) -> lst -> (a -> a -> Bool) -> [a] -> lst
groupByFB c n eq xs0 = groupByFBCore xs0
where groupByFBCore [] = n
groupByFBCore (x:xs) = c (x:ys) (groupByFBCore zs)
where (ys, zs) = span (eq x) xs