{-# LANGUAGE PatternSynonyms #-}

pattern Head x <- x : xs

pattern Head' x <-
    x : xs

pattern Head''{x} <-
    x : xs

pattern FirstTwo{x, y} <-
    x : (y : xs)

pattern FirstTwo'
    { x
    , y
    } <-
    x : (y : xs)

pattern Simple <- "Simple"

pattern WithTypeSig :: String
pattern WithTypeSig <- "WithTypeSig"
