--- hex-0.1.2/Data/Hex.hs 2011-10-11 05:44:11.000000000 +1100 +++ Data/Hex.hs 2020-08-01 12:28:49.166983032 +1000 @@ -22,7 +22,7 @@ -- | Convert string into hexadecimal. hex :: t -> t -- | Convert from hexadecimal and fail on invalid input. - unhex :: Monad m => t -> m t + unhex :: (Monad m, MonadFail m) => t -> m t instance Hex String where @@ -37,7 +37,7 @@ unhex [_] = fail "Non-even length" -c :: Monad m => Char -> m Int +c :: (Monad m, MonadFail m) => Char -> m Int c '0' = return 0 c '1' = return 1 c '2' = return 2