diff --git a/science-constants-dimensional.cabal b/science-constants-dimensional.cabal
--- a/science-constants-dimensional.cabal
+++ b/science-constants-dimensional.cabal
@@ -1,5 +1,5 @@
 name: science-constants-dimensional
-version: 0.1.0.0
+version: 0.1.0.1
 license: BSD3
 license-File: LICENSE
 author: Anton Vorontsov <anton@enomsg.org>
@@ -57,3 +57,4 @@
     exposed-modules:
       Science.Constants.Dimensional
       Science.Constants.Dimensional.Short
+      Science.Constants.Dimensional.Private
diff --git a/src/Science/Constants/Dimensional/Private.hs b/src/Science/Constants/Dimensional/Private.hs
new file mode 100644
--- /dev/null
+++ b/src/Science/Constants/Dimensional/Private.hs
@@ -0,0 +1,23 @@
+-----------------------------------------------------------------------------
+-- |
+-- Module      :  Science.Constants.Dimensional.Private
+-- Copyright   :  (c) Anton Vorontsov <anton@enomsg.org>
+-- License     :  BSD3
+--
+-- Maintainer  :  Anton Vorontsov <anton@enomsg.org>
+-- Stability   :  provisional
+-- Portability :  portable
+--
+-- Private Functions
+--
+-----------------------------------------------------------------------------
+
+module Science.Constants.Dimensional.Private where
+
+import Numeric.Units.Dimensional
+
+-- | This is a compile-time check function, it ensures that the first
+-- argument has the Unit-type of the second argument.
+infixl 0 ~~
+(~~) :: Quantity d a -> Unit d a  -> Quantity d a
+(~~) = Prelude.const
