diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,10 @@
 
 ## [Unreleased]
 
+## [0.0.1.2] - 2020-01-17
+### Added
+- `=:` type synonym to avoid ticks in type-level tuples.
+
 ## [0.0.1.1] - 2019-12-31
 ### Added
 - `param` combinator to add named parameters to selectors;
diff --git a/hasbolt-extras.cabal b/hasbolt-extras.cabal
--- a/hasbolt-extras.cabal
+++ b/hasbolt-extras.cabal
@@ -1,5 +1,5 @@
 name:           hasbolt-extras
-version:        0.0.1.1
+version:        0.0.1.2
 synopsis:       Extras for hasbolt library
 description:    Extras for hasbolt library
 homepage:       https://github.com/biocad/hasbolt-extras#readme
diff --git a/src/Database/Bolt/Extras/DSL/Typed.hs b/src/Database/Bolt/Extras/DSL/Typed.hs
--- a/src/Database/Bolt/Extras/DSL/Typed.hs
+++ b/src/Database/Bolt/Extras/DSL/Typed.hs
@@ -1,3 +1,5 @@
+{-# LANGUAGE ExplicitNamespaces #-}
+
 {- | Type-safe DSL for Cypher
 
 This module extends selectors from 'Database.Bolt.Extras.DSL.DSL' with extra type-level
@@ -24,6 +26,7 @@
   , prop
   , propMaybe
   , param
+  , type (=:)
   , (=:)
   , NodeSelector, RelSelector
   , nodeSelector, relSelector
@@ -53,9 +56,9 @@
   ) where
 
 
-import           Database.Bolt.Extras.DSL.Typed.Instances ()
-import           Database.Bolt.Extras.DSL.Typed.Types
+import           Database.Bolt.Extras.DSL.Typed.Instances  ()
 import           Database.Bolt.Extras.DSL.Typed.Parameters
+import           Database.Bolt.Extras.DSL.Typed.Types
 
 {- $setup
 >>> :set -XDeriveGeneric
@@ -63,6 +66,7 @@
 >>> :set -XOverloadedLabels
 >>> :set -XOverloadedStrings
 >>> :set -XDataKinds
+>>> :set -XTypeOperators
 >>> :load Database.Bolt.Extras.Graph Database.Bolt.Extras.DSL.Typed Database.Bolt.Extras.DSL
 >>> import Database.Bolt.Extras.DSL.Typed
 >>> import Data.Text (Text, unpack)
@@ -267,7 +271,7 @@
 There is an option to annotate queries ('Database.Bolt.Extras.DSL.CypherDSL') with parameters they accept,
 like this:
 
-> fooQ :: CypherDSLParams '[ '("foo", Int), '("bar", Text) ]
+> fooQ :: CypherDSLParams '["foo" =: Int, "bar" =: Text]
 > fooQ = CypherDSLParams $ do
 >     matchF [ PS $ p $ #n .& lbl @Foo .& param (#foo =: "foo") .& param (#bar =: "bar")
 >     returnF ["n"]
diff --git a/src/Database/Bolt/Extras/DSL/Typed/Parameters.hs b/src/Database/Bolt/Extras/DSL/Typed/Parameters.hs
--- a/src/Database/Bolt/Extras/DSL/Typed/Parameters.hs
+++ b/src/Database/Bolt/Extras/DSL/Typed/Parameters.hs
@@ -30,6 +30,7 @@
 >>> :set -XOverloadedLabels
 >>> :set -XDataKinds
 >>> :set -XOverloadedStrings
+>>> :set -XTypeOperators
 >>> :load Database.Bolt.Extras.DSL.Typed.Instances Database.Bolt.Extras.DSL.Typed.Parameters
 >>> import Control.Monad.IO.Class
 >>> import Database.Bolt (BoltActionT, Record)
@@ -39,6 +40,8 @@
 
 -- | A wrapper around arbitrary 'CypherDSL' expression which stores type-level list of named
 -- parameters (@$foo@) with their types.
+--
+-- It is convenient to write signatures using '(=:)' type synonym.
 newtype CypherDSLParams (params :: [(Symbol, Type)]) (a :: Type)
   = CypherDSLParams (CypherDSL a)
 
@@ -68,7 +71,7 @@
 --
 -- A couple of examples:
 --
--- >>> dsl = CypherDSLParams (returnF []) :: CypherDSLParams '[ '("foo", Int), '("bar", Text) ] ()
+-- >>> dsl = CypherDSLParams (returnF []) :: CypherDSLParams '["foo" =: Int, "bar" =: Text] ()
 -- >>> :t queryWithParams dsl
 -- queryWithParams dsl
 --   :: MonadIO m =>
diff --git a/src/Database/Bolt/Extras/DSL/Typed/Types.hs b/src/Database/Bolt/Extras/DSL/Typed/Types.hs
--- a/src/Database/Bolt/Extras/DSL/Typed/Types.hs
+++ b/src/Database/Bolt/Extras/DSL/Typed/Types.hs
@@ -4,6 +4,7 @@
 {-# LANGUAGE ScopedTypeVariables    #-}
 {-# LANGUAGE TypeFamilyDependencies #-}
 {-# LANGUAGE TypeInType             #-}
+{-# LANGUAGE TypeOperators          #-}
 
 module Database.Bolt.Extras.DSL.Typed.Types where
 
@@ -146,6 +147,9 @@
   => (SymbolS field, Text)
   -> a types -> a types
 param = withParam
+
+-- | Smart constructor for type-level tuples, to avoid writing @'("foo", Int)@ with extra tick.
+type (=:) (a :: k) (b :: l) = '(a, b)
 
 -- | Smart constructor for a pair of field name and its value. To be used with @OverloadedLabels@:
 --
