class_docstr: A dispatcher that calls functions with variable names
  >>> # xdoctest: +SKIP
  >>> d = VarDispatcher('d')
  >>> x = var('x')
  >>> @d.register('inc', x)
  ... def f(x):
  ...     return x + 1
  >>> @d.register('double', x)
  ... def f(x):
  ...     return x * 2
  >>> d('inc', 10)
  11
  >>> d('double', 10)
  20
class_docstr_tok: ["A","dispatcher","that","calls","functions","with","variable","names",">",">",">","#","xdoctest",":","+SKIP",">",">",">","d","=","VarDispatcher","(","'d","'",")",">",">",">","x","=","var","(","'","x","'",")",">",">",">","@","d.register","(","'inc","'",",","x",")","...","def","f","(","x",")",":","...","return","x","+","1",">",">",">","@","d.register","(","'double","'",",","x",")","...","def","f","(","x",")",":","...","return","x","*","2",">",">",">","d","(","'inc","'",",","10",")","11",">",">",">","d","(","'double","'",",","10",")","20"]
code: def __call__(self, *args, **kwargs):
      func, s = self.resolve(args)
      d = {k.token: v for k, v in s.items()}
      return func(**d)
  
file_path: pytorch/torch/fx/experimental/unification/match.py
imports: from .core import unify, reify
  from .variable import isvar
  from .utils import _toposort, freeze
  from .unification_tools import groupby, first
label_desc: Use image node_id 1 for calling the VarDispatcher obj's underlying member method code with example usage: obj.__call__() and returns: func