diff --git a/hs-opentelemetry-api.cabal b/hs-opentelemetry-api.cabal
--- a/hs-opentelemetry-api.cabal
+++ b/hs-opentelemetry-api.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           hs-opentelemetry-api
-version:        0.0.3.4
+version:        0.0.3.5
 synopsis:       OpenTelemetry API for use by libraries for direct instrumentation or wrapper packages.
 description:    Please see the README on GitHub at <https://github.com/iand675/hs-opentelemetry/tree/main/api#readme>
 category:       OpenTelemetry, Telemetry, Monitoring, Observability, Metrics
diff --git a/src/OpenTelemetry/Trace/Id.hs b/src/OpenTelemetry/Trace/Id.hs
--- a/src/OpenTelemetry/Trace/Id.hs
+++ b/src/OpenTelemetry/Trace/Id.hs
@@ -96,118 +96,6 @@
     Left err -> error err
     Right ok -> ok
 
-
--- | bytes pointed to by src to the hexadecimal binary representation.
-toHexadecimal :: ShortByteString -- ^ source bytes
-              -> ShortByteString -- ^ hexadecimal output
-toHexadecimal (SBS bin) = runST $ ST $ \s ->
-  case newByteArray# (n *# 2# ) s of
-    (# s1, mba #) -> case loop 0# mba s1 of
-      s2 -> case unsafeFreezeByteArray# mba s2 of
-        (# s3, ba #) -> (# s3, SBS ba #)
-  where
-    !n = sizeofByteArray# bin
-    loop i bout s
-      | isTrue# (i ==# n) = s
-      | otherwise = do
-          let !w = indexWord8Array# bin i
-          let !(# w1, w2 #) = convertByte w
-          case writeWord8Array# bout (i *# 2#) w1 s of
-            s1 -> case writeWord8Array# bout ((i *# 2#) +# 1#) w2 s1 of
-              s2 -> loop (i +# 1#) bout s2
-
--- | Convert a value Word# to two Word#s containing
--- the hexadecimal representation of the Word#
-convertByte :: Word# -> (# Word#, Word# #)
-convertByte b = (# r tableHi b, r tableLo b #)
-  where
-        r :: Addr# -> Word# -> Word#
-        r table ix = indexWord8OffAddr# table (word2Int# ix)
-
-        !tableLo =
-            "0123456789abcdef0123456789abcdef\
-            \0123456789abcdef0123456789abcdef\
-            \0123456789abcdef0123456789abcdef\
-            \0123456789abcdef0123456789abcdef\
-            \0123456789abcdef0123456789abcdef\
-            \0123456789abcdef0123456789abcdef\
-            \0123456789abcdef0123456789abcdef\
-            \0123456789abcdef0123456789abcdef"#
-        !tableHi =
-            "00000000000000001111111111111111\
-            \22222222222222223333333333333333\
-            \44444444444444445555555555555555\
-            \66666666666666667777777777777777\
-            \88888888888888889999999999999999\
-            \aaaaaaaaaaaaaaaabbbbbbbbbbbbbbbb\
-            \ccccccccccccccccdddddddddddddddd\
-            \eeeeeeeeeeeeeeeeffffffffffffffff"#
-{-# INLINE convertByte #-}
-
--- | Convert a base16 @src to the byte equivalent.
---
--- length of the 'ShortByteString' input must be even
---
--- TODO, not working right
-fromHexadecimal :: ShortByteString -> (Maybe ShortByteString)
-fromHexadecimal src@(SBS sbs)
-  | odd (length src) = Nothing
-  | otherwise = runST $ ST $ \s -> case newByteArray# newLen# s of
-      (# s1, dst #) -> case loop dst 0# 0# s1 of
-        (# s2, Just _ #) -> (# s2, Nothing #)
-        (# s2, Nothing #) -> case unsafeFreezeByteArray# dst s2 of
-          (# s3, sbs' #) -> (# s3, Just $ SBS sbs' #)
-  where
-    !(I# newLen#) = length src `div` 2
-    loop dst di i s
-      | isTrue# (i ==# newLen#) = (# s, Nothing #)
-      | otherwise = do
-        let a = rHi (indexWord8Array# sbs i)
-        let b = rLo (indexWord8Array# sbs (i +# 1#))
-        if isTrue# (eqWord# a (int2Word# 0xff#)) || isTrue# (eqWord# b (int2Word# 0xff#))
-            then (# s, Just (I# i) #)
-            else
-              case writeWord8Array# dst di (or# a b) s of
-                s1 -> loop dst (di +# 1#) (i +# 2#) s1
-
-    rLo ix = indexWord8OffAddr# tableLo (word2Int# ix)
-    rHi ix = indexWord8OffAddr# tableHi (word2Int# ix)
-
-    !tableLo =
-            "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
-              \\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
-              \\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
-              \\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\xff\xff\xff\xff\xff\xff\
-              \\xff\x0a\x0b\x0c\x0d\x0e\x0f\xff\xff\xff\xff\xff\xff\xff\xff\xff\
-              \\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
-              \\xff\x0a\x0b\x0c\x0d\x0e\x0f\xff\xff\xff\xff\xff\xff\xff\xff\xff\
-              \\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
-              \\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
-              \\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
-              \\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
-              \\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
-              \\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
-              \\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
-              \\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
-              \\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#
-    !tableHi =
-            "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
-              \\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
-              \\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
-              \\x00\x10\x20\x30\x40\x50\x60\x70\x80\x90\xff\xff\xff\xff\xff\xff\
-              \\xff\xa0\xb0\xc0\xd0\xe0\xf0\xff\xff\xff\xff\xff\xff\xff\xff\xff\
-              \\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
-              \\xff\xa0\xb0\xc0\xd0\xe0\xf0\xff\xff\xff\xff\xff\xff\xff\xff\xff\
-              \\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
-              \\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
-              \\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
-              \\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
-              \\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
-              \\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
-              \\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
-              \\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
-              \\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#
-
 -- | Generate a 'TraceId' using the provided 'IdGenerator'
 --
 -- This function is generally called by the @hs-opentelemetry-sdk@,
