module Boo where {-@ data X Int -> Bool> = X (x0 :: Int) (x1 :: Int) @-} data X = X Int Int {-@ data T

Int -> Int -> Int -> Bool> = C { x :: Int, y :: Int, z :: X

} @-} data T = C { x :: Int, y :: Int, z :: X }