{-@ LIQUID "--exact-data-cons" @-} module Boo where -- The reason this fails is because the constructor we use in the -- refinement for Hog is in fact a constructor of T. {-@ data Hog where Cuthb :: Nat -> T @-} data Hog = H Int data T = Cuthb { fldX :: Int } zoink = Cuthb (-1)