1{-# LANGUAGE PatternSynonyms #-} 2 3pattern Head x <- x : xs 4 5pattern Head' x <- 6 x : xs 7 8pattern Head'' {x} <- 9 x : xs 10 11pattern FirstTwo {x, y} <- 12 x : (y : xs) 13 14pattern FirstTwo' 15 { x, 16 y 17 } <- 18 x : (y : xs) 19 20pattern Simple <- "Simple" 21 22pattern WithTypeSig :: String 23pattern WithTypeSig <- "WithTypeSig" 24