diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,10 @@
 # lzlib
 
+## 1.0.3.0
+
+  * More laconic internals
+  * Add `compressFileLevel` &c.
+
 ## 1.0.2.1
 
   * Tweak buffering
diff --git a/lzlib.cabal b/lzlib.cabal
--- a/lzlib.cabal
+++ b/lzlib.cabal
@@ -1,6 +1,6 @@
 cabal-version:      1.18
 name:               lzlib
-version:            1.0.2.1
+version:            1.0.3.0
 license:            BSD3
 license-file:       LICENSE
 copyright:          Copyright: (c) 2019-2020 Vanessa McHale
diff --git a/src/Codec/Lzip.hs b/src/Codec/Lzip.hs
--- a/src/Codec/Lzip.hs
+++ b/src/Codec/Lzip.hs
@@ -10,6 +10,9 @@
                   , compressWith
                   , compressWithSz
                   , compressFile
+                  , compressFileLevel
+                  , compressFileBest
+                  , compressFileFast
                   , CompressionLevel (..)
                   -- * Decompression
                   , decompress
@@ -172,8 +175,20 @@
 
 -- | @since 1.0.0.0
 compressFile :: FilePath -> IO BSL.ByteString
-compressFile fp =
-    compressWithSz Six <$> BSL.readFile fp <*> fileSizeInt fp
+compressFile = compressFileLevel Six
+
+-- | @since 1.0.3.0
+compressFileBest :: FilePath -> IO BSL.ByteString
+compressFileBest = compressFileLevel Nine
+
+-- | @since 1.0.3.0
+compressFileFast :: FilePath -> IO BSL.ByteString
+compressFileFast = compressFileLevel Zero
+
+-- | @since 1.0.3.0
+compressFileLevel :: CompressionLevel -> FilePath -> IO BSL.ByteString
+compressFileLevel lvl fp =
+    compressWithSz lvl <$> BSL.readFile fp <*> fileSizeInt fp
 
 fileSizeInt :: FilePath -> IO Int
 fileSizeInt fp = fromIntegral <$> withFile fp ReadMode hFileSize
diff --git a/src/Codec/Lzip/Raw.chs b/src/Codec/Lzip/Raw.chs
--- a/src/Codec/Lzip/Raw.chs
+++ b/src/Codec/Lzip/Raw.chs
@@ -8,12 +8,8 @@
                         LZErrno (..)
                       , lZVersion
                       , lZStrerror
-                      , lZMinDictionaryBits
                       , lZMinDictionarySize
-                      , lZMaxDictionaryBits
                       , lZMaxDictionarySize
-                      , lZMinMatchLenLimit
-                      , lZMaxMatchLenLimit
                       , UInt8
                       -- * Compression functions
                       , LZEncoder
@@ -21,38 +17,22 @@
                       , lZCompressOpen
                       , lZCompressClose
                       , lZCompressFinish
-                      , lZCompressRestartMember
-                      , lZCompressSyncFlush
                       , lZCompressRead
                       , lZCompressWrite
                       , lZCompressWriteSize
                       , lZCompressErrno
                       , lZCompressFinished
-                      , lZCompressMemberFinished
-                      , lZCompressDataPosition
-                      , lZCompressMemberPosition
-                      , lZCompressTotalInSize
-                      , lZCompressTotalOutSize
                       -- * Decompression functions
                       , LZDecoder
                       , LZDecoderPtr
                       , lZDecompressOpen
                       , lZDecompressClose
                       , lZDecompressFinish
-                      , lZDecompressReset
-                      , lZDecompressSyncToMember
                       , lZDecompressRead
                       , lZDecompressWrite
                       , lZDecompressWriteSize
                       , lZDecompressErrno
                       , lZDecompressFinished
-                      , lZDecompressMemberFinished
-                      , lZDecompressDictionarySize
-                      , lZDecompressDataCrc
-                      , lZDecompressDataPosition
-                      , lZDecompressMemberPosition
-                      , lZDecompressTotalInSize
-                      , lZDecompressTotalOutSize
                       -- * Macros
                       , lZApiVersion
                       ) where
@@ -77,12 +57,8 @@
 
 {# fun pure LZ_version as ^ {} -> `String' #}
 {# fun pure LZ_strerror as ^ { `LZErrno' } -> `String' #}
-{# fun pure LZ_min_dictionary_bits as ^ {} -> `CInt' #}
 {# fun pure LZ_min_dictionary_size as ^ {} -> `CInt' #}
-{# fun pure LZ_max_dictionary_bits as ^ {} -> `CInt' #}
 {# fun pure LZ_max_dictionary_size as ^ {} -> `CInt' #}
-{# fun pure LZ_min_match_len_limit as ^ {} -> `CInt' #}
-{# fun pure LZ_max_match_len_limit as ^ {} -> `CInt' #}
 
 instance Show LZErrno where
     show = lZStrerror
@@ -96,18 +72,11 @@
 
 {# fun LZ_compress_open as ^ { `CInt', `CInt', id `CULLong' } -> `Ptr LZEncoder' id #}
 {# fun LZ_compress_finish as ^ { `LZEncoderPtr' } -> `CInt' #}
-{# fun LZ_compress_restart_member as ^ { `LZEncoderPtr', id `CULLong' } -> `CInt' #}
-{# fun LZ_compress_sync_flush as ^ { `LZEncoderPtr' } -> `CInt' #}
 {# fun LZ_compress_read as ^ { `LZEncoderPtr', `Ptr UInt8', `CInt' } -> `CInt' #}
 {# fun LZ_compress_write as ^ { `LZEncoderPtr', `Ptr UInt8', `CInt' } -> `CInt' #}
 {# fun LZ_compress_write_size as ^ { `LZEncoderPtr' } -> `CInt' #}
 {# fun LZ_compress_errno as ^ { `LZEncoderPtr' } -> `LZErrno' #}
 {# fun LZ_compress_finished as ^ { `LZEncoderPtr' } -> `CInt' #}
-{# fun LZ_compress_member_finished as ^ { `LZEncoderPtr' } -> `CInt' #}
-{# fun LZ_compress_data_position as ^ { `LZEncoderPtr' } -> `CULLong' id #}
-{# fun LZ_compress_member_position as ^ { `LZEncoderPtr' } -> `CULLong' id #}
-{# fun LZ_compress_total_in_size as ^ { `LZEncoderPtr' } -> `CULLong' id #}
-{# fun LZ_compress_total_out_size as ^ { `LZEncoderPtr' } -> `CULLong' id #}
 
 -- | Abstract data type
 data LZDecoder
@@ -116,17 +85,8 @@
 
 {# fun LZ_decompress_open as ^ {} -> `Ptr LZDecoder' id #}
 {# fun LZ_decompress_finish as ^ { `LZDecoderPtr' } -> `CInt' #}
-{# fun LZ_decompress_reset as ^ { `LZDecoderPtr' } -> `CInt' #}
-{# fun LZ_decompress_sync_to_member as ^ { `LZDecoderPtr' } -> `CInt' #}
 {# fun LZ_decompress_read as ^ { `LZDecoderPtr', `Ptr UInt8', `CInt' } -> `CInt' #}
 {# fun LZ_decompress_write as ^ { `LZDecoderPtr', `Ptr UInt8', `CInt' } -> `CInt' #}
 {# fun LZ_decompress_write_size as ^ { `LZDecoderPtr' } -> `CInt' #}
 {# fun LZ_decompress_errno as ^ { `LZDecoderPtr' } -> `LZErrno' #}
 {# fun LZ_decompress_finished as ^ { `LZDecoderPtr' } -> `CInt' #}
-{# fun LZ_decompress_member_finished as ^ { `LZDecoderPtr' } -> `CInt' #}
-{# fun LZ_decompress_dictionary_size as ^ { `LZDecoderPtr' } -> `CInt' #}
-{# fun LZ_decompress_data_crc as ^ { `LZDecoderPtr' } -> `CUInt' #}
-{# fun LZ_decompress_data_position as ^ { `LZDecoderPtr' } -> `CULLong' id #}
-{# fun LZ_decompress_member_position as ^ { `LZDecoderPtr' } -> `CULLong' id #}
-{# fun LZ_decompress_total_in_size as ^ { `LZDecoderPtr' } -> `CULLong' id #}
-{# fun LZ_decompress_total_out_size as ^ { `LZDecoderPtr' } -> `CULLong' id #}
