type t = tval used : encoder -> intLoose.EThe encoder (which uses a Minienc.encoder) of the Git object. We constraint the output to be a Cstruct.t. This encoder needs the level of the compression, the value t, the memory consumption of the encoder (in bytes - must be a power of two) and an internal buffer between the compression and the encoder.
All error from the Deflate module is relayed to the `Deflate error value.
The encoder includes an header process. This encoder does not correspond directly to a serialized Git object but a serialized Git loose object. That means we put in front of the Git object an header:
> kind length\000 ...