ref: 7f3da47a8e1a1e6c6f9d63946ad84ed589310a17
dir: /tests/PatSynE.hs/
module PatSynE(pattern Sing, pattern Sings, pattern Swap, pattern One, T(..,AA)) where pattern Sing :: a -> [a] pattern Sing a = [a] pattern Sings :: a -> [a] -> [a] pattern Sings a as <- as@[a] pattern Swap :: a -> a -> [a] pattern Swap a b = [b, a] pattern One :: (Eq a, Num a) => a pattern One = 1 data T = A deriving (Show) pattern AA :: T pattern AA = A