liquidhaskell-0.9.0.2.1: tests/pos/State00.hs
module State00 () where
type State = Int
data ST a b = Superb (b -> (a, b))
{-@ fresh :: ST {v:Int | v >= 0} {v:Int | v >= 0} @-}
fresh :: ST Int Int
fresh = Superb (\n -> (n, n+1))
module State00 () where
type State = Int
data ST a b = Superb (b -> (a, b))
{-@ fresh :: ST {v:Int | v >= 0} {v:Int | v >= 0} @-}
fresh :: ST Int Int
fresh = Superb (\n -> (n, n+1))