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