blast :: Integer -> (Bool, [Word8])
blast i
  | i < 0     = (True,  loop $ negate i)
  | otherwise = (False, loop i)
 where
  loop i
    | i == 0    = []
    | otherwise = let (q, r) = i `divMod` 256
                  in fromIntegral r:loop q
blast :: Integer -> (Bool, [Word8])
blast i
  | i < 0     = (True,  loop $ negate i)
  | otherwise = (False, loop i)
 where
  loop i
    | i == 0    = []
    | otherwise = let (q, r) = i `divMod` 256
                  in fromIntegral r:loop q
blast i
  | i < 0     = (True,  loop $ negate i)
  | otherwise = (False, loop i)
 where
  loop i
    | i == 0    = []
    | otherwise = let (q, r) = i `divMod` 256
                  in fromIntegral r:loop q