anchor.diff:  
   -spec crc32_combine(Z, CRC1, CRC2, Size2) -> CRC when
         Z :: zstream(),
  -      CRC :: integer(),
  -      CRC1 :: integer(),
  -      CRC2 :: integer(),
  -      Size2 :: integer().
  +      CRC :: non_neg_integer(),
  +      CRC1 :: non_neg_integer(),
  +      CRC2 :: non_neg_integer(),
  +      Size2 :: non_neg_integer().
   crc32_combine(Z, CRC1, CRC2, Size2) when is_reference(Z) ->
       erlang:crc32_combine(CRC1, CRC2, Size2);
   crc32_combine(_Z, _CRC1, _CRC2, _Size2) ->
  
positive.code: %%------------------------------------------------------------------------
  
  %% Public data types.
  -type zstream() :: term().
  -type zflush() :: 'none' | 'sync' | 'full' | 'finish'.
  
  -type zlevel() ::
  
negative.code: -type zmethod()     :: 'deflated'.
  
  -record(zlib_opts, {
          stream :: zstream() | 'undefined',
          method :: function(),
          input_chunk_size :: pos_integer(),
          output_chunk_size :: pos_integer(),
          flush :: non_neg_integer()
      }).
  
  %%------------------------------------------------------------------------
  