module Data data Data1 a Data2 :: a -> Int -> Data1 a func1 :: Data1 a -> a func2 :: Data1 a -> Int Data3 :: Bool -> a -> Data1 a func3 :: Data1 a -> Bool Data4 :: Data1 a type Type1 = Data1 Bool newtype Data5 a Data6 :: a -> Data5 a