class_docstr: An interpretation based on pattern matching.
  
  Example usage::
  
      my_interpretation = DispatchedInterpretation("my_interpretation")
  
      # Register a funsor pattern and rule.
      @my_interpretation.register(...)
      def my_impl(cls, *args):
          ...
  
      # Use the new interpretation.
      with my_interpretation:
          ...
class_docstr_tok: ["An","interpretation","based","on","pattern","matching",".","Example","usage",":",":","my_interpretation","=","DispatchedInterpretation","(","``","my_interpretation","''",")","#","Register","a","funsor","pattern","and","rule",".","@","my_interpretation.register","(","...",")","def","my_impl","(","cls",",","*","args",")",":","...","#","Use","the","new","interpretation",".","with","my_interpretation",":","..."]
code: def interpret(self, cls, *args):
      return self.dispatch(cls, *args)(*args)
  
imports: from abc import ABC, abstractmethod
  from collections.abc import Hashable
  from contextlib import ContextDecorator, contextmanager
  from timeit import default_timer
  from .None import instrument
  from .interpreter import get_interpretation, pop_interpretation, push_interpretation
  from .registry import KeyedRegistry
  from .util import get_backend
label_desc: Use image node_id 2 for calling the DispatchedInterpretation obj's underlying member method code with example usage: obj.interpret(cls) and returns: self