# LH/Records/Robin & Klaus ```haskell {-@ LIQUID "--exact-data" @-} foo :: Int -> Int foo x = x + 1 {-@ reflect bar @-} bar :: Int -> Int bar x = foo x ``` ```haskell type Record = MkRec { x :: {v: Int | pre => v < 0}, , y :: Int, } type Record = MkRec { x :: Int, , y :: Int, } type Record_Pre = {r:Record | pre (x r) (y r)} ``` ```haskell! {-@ inline val @-} val :: Record -> Bool val (Record 0 y) = true val _ = false {-@ inline val @-} val = Record { x = 0, y = 0 } {-@ inline incX @-} incX record = record { x = x record } ```