diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,9 @@
 # Changelog for composite-tuple
 
+## (v0.1.2.0)
+
+* Add `pattern (:|:)`.
+
 ## (v0.1.1.0)
 
 * Add `singleton`.
diff --git a/composite-tuple.cabal b/composite-tuple.cabal
--- a/composite-tuple.cabal
+++ b/composite-tuple.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           composite-tuple
-version:        0.1.1.0
+version:        0.1.2.0
 synopsis:       Tuple functions for composite records.
 description:    Tuple functions for composite records.
 category:       Data Structures
diff --git a/src/Composite/Record/Tuple.hs b/src/Composite/Record/Tuple.hs
--- a/src/Composite/Record/Tuple.hs
+++ b/src/Composite/Record/Tuple.hs
@@ -1,6 +1,7 @@
-{-# LANGUAGE DataKinds     #-}
-{-# LANGUAGE GADTs         #-}
-{-# LANGUAGE TypeOperators #-}
+{-# LANGUAGE DataKinds       #-}
+{-# LANGUAGE GADTs           #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE TypeOperators   #-}
 {- |
    Module     : Composite.Record.Tuple
    License    : MIT
@@ -10,6 +11,7 @@
 -}
 module Composite.Record.Tuple (
   singleton
+, pattern (:|:)
 , toFst
 , toSnd
 , fmapToFst
@@ -25,6 +27,10 @@
 -- | Put a single value in a record.
 singleton :: a -> Record (s :-> a : '[])
 singleton a = a :*: RNil
+
+-- | Pattern for a pair in a record
+pattern (:|:) :: a -> b -> Record (s :-> a : s' :-> b : '[])
+pattern a :|: b = a :*: b :*: RNil
 
 -- | Apply a function, with the result in the fst slot, and the value in the other.
 toFst :: (a -> b) -> a -> Record (s :-> b : s' :-> a : '[])
