{-# 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"
