class_docstr: Rate-limit a function (or other callable)
code: def __call__(self, *args, **kwargs):
      self._wait()
      return self.func(*args, **kwargs)
  
imports: import functools
  import time
  import inspect
  import collections
  import types
  import itertools
  import warnings
  import pkg_resources.extern.more_itertools
  from typing import Callable, TypeVar
label_desc: Use image node_id 3 for calling the Throttler obj's underlying member method code with example usage: obj.__call__() and returns: self