docs: def _decoder(image, shrink):
      """A context manager for `DmtxDecode`, created and destroyed by
      `dmtxDecodeCreate` and `dmtxDecodeDestroy`.
  
      Args:
          image (POINTER(DmtxImage)):
          shrink (int):
  
      Yields:
          POINTER(DmtxDecode): The created decoder
  
      Raises:
          PyLibDMTXError: If the decoder could not be created.
      """
      decoder = dmtxDecodeCreate(image, shrink)
      if not decoder:
          raise PyLibDMTXError('Could not create decoder')
      else:
          try:
              yield decoder
          finally:
              dmtxDecodeDestroy(byref(decoder))