liquidhaskell-0.8.0.2: tests/errors/MissingSizeFun.hs
module MapReduce where
{-@ data List [llen] a = N | C {lhead :: a, ltail :: List a} @-}
data List a = N | C a (List a)
{-@ measure llen @-}
llen :: List a -> Bool
llen N = True
llen (C _ xs) = False -- 1 + llen xs
{-@ data List2 [llen2] a = N2 | C2 {lhead2 :: a, ltail2 :: List2 a} @-}
data List2 a = N2 | C2 a (List2 a)