unhex :: C.ByteString -> [Word8]
unhex bsIn =
  let (nibble, rest) = C.splitAt 2 bsIn
  in case (C.unpack nibble) of
     hi:lo:[] -> (unhexByte hi lo) : unhex rest
     _        -> []
unhex :: C.ByteString -> [Word8]
unhex bsIn =
  let (nibble, rest) = C.splitAt 2 bsIn
  in case (C.unpack nibble) of
     hi:lo:[] -> (unhexByte hi lo) : unhex rest
     _        -> []
unhex bsIn =
  let (nibble, rest) = C.splitAt 2 bsIn
  in case (C.unpack nibble) of
     hi:lo:[] -> (unhexByte hi lo) : unhex rest
     _        -> []