decrunch64 (x:xs) = (decode (width w) (count w) (value w) (rotateL x (width w))) ++ (decrunch64 xs)
                   where
                     w = toEnum $ fromIntegral (x .&. 15)  -- Extract the 4 selector bits.

-- Decode some numbers with a given width.
decrunch64 (x:xs) = (decode (width w) (count w) (value w) (rotateL x (width w))) ++ (decrunch64 xs)
                   where
                     w = toEnum $ fromIntegral (x .&. 15)  -- Extract the 4 selector bits.

-- Decode some numbers with a given width.
decrunch64 (x:xs) = (decode (width w) (count w) (value w) (rotateL x (width w))) ++ (decrunch64 xs)
                   where
                     w = toEnum $ fromIntegral (x .&. 15)  -- Extract the 4 selector bits.

-- Decode some numbers with a given width.