Snappy パッケージの下記 decompress を利用する際、どのようにコーディングを行えば例外処理が出来るでしょうか?

decompress :: ByteString -> ByteString

Decompress data in the Snappy format.
If the input is not compressed or is corrupt, an exception will be thrown.

try を利用した場合 Left になると思ったのですが、結果は Right となってします。

ghci> import Data.ByteString
ghci> import Control.Exception
ghci> import Codec.Compression.Snappy
ghci> let bs = "test" :: ByteString
ghci> decompress bs
"*** Exception: user error (Codec.Compression.Snappy.decompress: corrupt input )
ghci> try (return $ decompress bs)::IO (Either SomeException ByteString)
Right "*** Exception: user error (Codec.Compression.Snappy.decompress: corrupt input )