diff --git a/nanotime.cabal b/nanotime.cabal
--- a/nanotime.cabal
+++ b/nanotime.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           nanotime
-version:        0.2.0
+version:        0.3.0
 synopsis:       a tiny time library
 description:    Please see the README on GitHub at <https://github.com/ejconlon/nanotime#readme>
 homepage:       https://github.com/ejconlon/nanotime#readme
diff --git a/src/Nanotime.hs b/src/Nanotime.hs
--- a/src/Nanotime.hs
+++ b/src/Nanotime.hs
@@ -139,17 +139,14 @@
         SignPos -> a
         SignNeg -> negate a
 
-timeDeltaToNanos :: TimeDelta -> Maybe Word64
-timeDeltaToNanos (TimeDelta s m) =
-  case s of
-    SignNeg -> Nothing
-    SignPos -> Just m
+timeDeltaToNanos :: TimeDelta -> (Sign, Word64)
+timeDeltaToNanos (TimeDelta s m) = (s, m)
 
 threadDelayDelta :: TimeDelta -> IO ()
 threadDelayDelta (TimeDelta s m) =
   case s of
-    SignNeg -> pure ()
-    SignPos -> threadDelay (fromIntegral (div m 1000))
+    SignPos | m > 0 -> threadDelay (fromIntegral (div m 1000))
+    _ -> pure ()
 
 class (Ord t) => TimeLike t where
   -- | `diffTime end start` computes `end - start`
