diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,3 +1,7 @@
+0.2.8
+
+* Add `(/+/)` function.
+
 0.2.7
 
 * Add `mantissa` function for digits.
diff --git a/digit.cabal b/digit.cabal
--- a/digit.cabal
+++ b/digit.cabal
@@ -1,5 +1,5 @@
 name:               digit
-version:            0.2.7
+version:            0.2.8
 license:            BSD3
 license-File:       etc/LICENCE
 author:             Tony Morris <ʇǝu˙sıɹɹoɯʇ@ןןǝʞsɐɥ>
diff --git a/src/Data/Digit.hs b/src/Data/Digit.hs
--- a/src/Data/Digit.hs
+++ b/src/Data/Digit.hs
@@ -58,6 +58,7 @@
 , digits
 , digitsI
 , digitsS
+, (/+/)
 , (.+.)
 , (.*.)
 , mantissa
@@ -726,7 +727,7 @@
 dpat (d:[])   = maybe (error "not a digit") (dataToPatQ (const Nothing)) (d ^? digitC)
 dpat _        = error "not a digit"
 
-data Digits =
+newtype Digits =
   Digits [Digit]
   deriving (Eq, Ord, Show, Data, Typeable)
 
@@ -802,6 +803,39 @@
     Digits mempty
   mappend =
     (<>)
+
+-- |
+--
+-- >>> D0 /+/ D0
+-- (0,0)
+--
+-- >>> D0 /+/ D1
+-- (0,1)
+--
+-- >>> D1 /+/ D0
+-- (0,1)
+--
+-- >>> D4 /+/ D5
+-- (0,9)
+--
+-- >>> D5 /+/ D5
+-- (1,0)
+--
+-- >>> D5 /+/ D6
+-- (1,1)
+--
+-- >>> D8 /+/ D7
+-- (1,5)
+--
+-- >>> D9 /+/ D9
+-- (1,8)
+(/+/) ::
+  Digit
+  -> Digit
+  -> (Digit, Digit)
+a /+/ b =
+  let (x, r) = divMod10 (digit # a + digit # b)
+  in (mod10 (x :: Integer), r) 
 
 (.+.) ::
   Digits
