# Structs
AutoReset wraps a MatchFinder that can return references to data in previous blocks, and calls Reset before each block.
M0 is an implementation of the MatchFinder interface based on the algorithm used by snappy, but modified to be more like the algorithm used by compression level 0 of the brotli reference implementation.
M4 is an implementation of the MatchFinder interface that uses a hash table to find matches, optional match chains, and the advanced parsing technique from https://fastcompression.blogspot.com/2011/12/advanced-parsing-strategies.html.
A Match is the basic unit of LZ77 compression.
A NoMatchFinder implements MatchFinder, but doesn't find any matches.
A TextEncoder is an Encoder that produces a human-readable representation of the LZ77 compression.
A Writer uses MatchFinder and Encoder to write compressed data to Dest.
# Interfaces
An Encoder encodes the data in its final format.
A MatchFinder performs the LZ77 stage of compression, looking for matches.