docs: def get_current_frame():
      """
      :return: current frame object (excluding this function call)
      :rtype: types.FrameType
  
      Uses sys._getframe if available, otherwise some trickery with sys.exc_info and a dummy exception.
      """
      if hasattr(sys, "_getframe"):
          # noinspection PyProtectedMember
          return sys._getframe(1)
      try:
          raise ZeroDivisionError
      except ZeroDivisionError:
          return sys.exc_info()[2].tb_frame.f_back