liquidhaskell-0.8.10.7: tests/ple/neg/T1409.hs
{-@ LIQUID "--reflection" @-}
{-@ LIQUID "--ple" @-}
module T1409 where
data Peano = Z | S Peano
{-@ reflect isEven @-}
isEven :: Peano -> Bool
isEven Z = True
isEven (S n) = not (isEven n)
{-@ foo :: _ -> {v:Int | v = 0} @-}
foo :: Peano -> Int
foo (S Z) = 5
foo _ = 0