me as the DEFLATE format with an additional header and a trailing
  checksum; this is implemented by creating a new class and adding a
  few new methods to the generic functions below.

<p>For example, consider a new compressed data format FOO that
  encapsulates a DEFLATE data stream but adds four signature octets,
  F0 0D 00 D1, to the start of the output data stream, and adds a
  trailing 32-bit length value, MSB first, after the end. It could be
  implemented like this:

<pre>
(defclass foo-compressor (