diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,9 @@
 # Revision history for greskell-websocket
 
+## 0.1.2.0  -- 2019-12-27
+
+* Add `submitPair` function to Client module.
+
 ## 0.1.1.2  -- 2018-10-03
 
 * Confirm test with `base-4.12.0.0`
diff --git a/greskell-websocket.cabal b/greskell-websocket.cabal
--- a/greskell-websocket.cabal
+++ b/greskell-websocket.cabal
@@ -1,5 +1,5 @@
 name:                   greskell-websocket
-version:                0.1.1.2
+version:                0.1.2.0
 author:                 Toshio Ito <debug.ito@gmail.com>
 maintainer:             Toshio Ito <debug.ito@gmail.com>
 license:                BSD3
diff --git a/src/Network/Greskell/WebSocket/Client.hs b/src/Network/Greskell/WebSocket/Client.hs
--- a/src/Network/Greskell/WebSocket/Client.hs
+++ b/src/Network/Greskell/WebSocket/Client.hs
@@ -16,6 +16,7 @@
          module Network.Greskell.WebSocket.Client.Options,
          -- * Submit evaluation requests
          submit,
+         submitPair,
          submitRaw,
          ResultHandle,
          nextResult,
diff --git a/src/Network/Greskell/WebSocket/Client/Impl.hs b/src/Network/Greskell/WebSocket/Client/Impl.hs
--- a/src/Network/Greskell/WebSocket/Client/Impl.hs
+++ b/src/Network/Greskell/WebSocket/Client/Impl.hs
@@ -118,6 +118,16 @@
        -> IO (ResultHandle v)
 submit client greskell bindings = submitBase client (toGremlin greskell) bindings
 
+-- | Submit a pair of Gremlin script and variable binding. It's just a
+-- simple wrapper around 'submit'.
+--
+-- @since 0.1.2.0
+submitPair :: (ToGreskell g, r ~ GreskellReturn g, AsIterator r, v ~ IteratorItem r, FromGraphSON v)
+           => Client
+           -> (g, Object)
+           -> IO (ResultHandle v)
+submitPair c (g, b) = submit c g (Just b)
+
 -- | Less type-safe version of 'submit'.
 submitRaw :: Client
           -> Text -- ^ Gremlin script
