liquidhaskell-0.8.10.7: tests/absref/pos/state00.hs
module StateMonad () where
data ST s = S { act :: s -> s }
{-@ data ST s <p :: s -> Bool> = S { act :: (s<p> -> s<p>) } @-}
{-@ foo :: forall <q :: sip -> Bool>. ST <q> sip @-}
foo :: ST s
foo = S (\s -> s)