docs: def write_extra_data(self, stream: WriteStream) -> None:
          """Writes the param container and string pointer arrays.
          Unlike other write_extra_data functions, this can be called before write()."""
          if self.params:
              stream.align(8)
              if self._params_offset_writer:
                  self._params_offset_writer.write_current_offset(stream)
              else:
                  self._params_offset = stream.tell()
              self.params.write(stream)
  
          if self.actions:
              stream.align(8)
              if self._actions_offset_writer:
                  self._actions_offset_writer.write_current_offset(stream)
              else:
                  self._actions_offset = stream.tell()
              for s in self.actions:
                  stream.write_string_ref(s.v)
  
          if self.queries:
              stream.align(8)
              if self._queries_offset_writer:
                  self._queries_offset_writer.write_current_offset(stream)
              else:
                  self._queries_offset = stream.tell()
              for s in self.queries:
                  stream.write_string_ref(s.v)