decode(any()) :: {:ok, binary()} | {:error, :decoding_failed}
encode(binary()) :: {:ok, any()} | {:error, :encoding_failed}