code: def write(self, out: TextIO) -> None:
      out.write(
          f"""
  {_header(self.name, 2)}
  
  This function uses multiple dispatch, which will depend on the type of argument passed in:
  """
      )
      for impl, argss in self.implementations().items():
          impl_name = f"{impl.__module__}.{impl.__name__}"
  
          out.write(
              """
  .. code-block:: python
  
  """
          )
          for args in argss:
              arg_names = ", ".join([a.__name__ for a in args])
              out.write(f"    {self.name}( {arg_names} )\n")
          out.write(f"    # dispatch to -> {impl_name}(...)\n")
          out.write(
              f"""
  .. autofunction:: {impl_name}
  """
          )
  
imports: import inspect
  from dataclasses import dataclass
  from pathlib import Path
  from types import ModuleType
  from typing import Any, Callable, Deque, Dict, List, Mapping, Set, TextIO, Tuple, Type, Union
  from gpflow.utilities import Dispatcher
label_desc: Use image node_id 2 for calling the DocumentableDispatcher obj's underlying member method code with example usage: obj.write(out) without return types