class_docstr: Dispatch methods based on type signature
  
  Use ``dispatch`` to add implementations
  
  Examples
  --------
  
  >>> from sympy.multipledispatch import dispatch
  >>> @dispatch(int)
  ... def f(x):
  ...     return x + 1
  
  >>> @dispatch(float)
  ... def f(x): # noqa: F811
  ...     return x - 1
  
  >>> f(3)
  4
  >>> f(3.0)
  2.0
code: def _source(self, *args):
      func = self.dispatch(*map(type, args))
      if not func:
          raise TypeError("No function found")
      return source(func)
  
imports: from __future__ import annotations
  from warnings import warn
  import inspect
  from .conflict import ordering, ambiguities, super_signature, AmbiguityWarning
  from .utils import expand_tuples
  import itertools
label_desc: Use image node_id 17 for calling the Dispatcher obj's underlying member method code with example usage: obj._source() and returns: source