@spec decompress(binary()) :: binary() | {:error, String.t()}
@spec decompress!(binary()) :: binary()