docs: def resolve_str(name_or_func, module, default):
      """ Resolve and return object from dotted name
      """
      assert isinstance(name_or_func, str)
      resolved = resolve(name_or_func, module=module)
  
      if isinstance(resolved, ModuleType):
          if not hasattr(resolved, default):
              raise ImportError("{}.{}".format(resolved.__name__, default))
  
          resolved = getattr(resolved, default)
  
      if not callable(resolved):
          raise TypeError("{!r} is not callable"
                          "".format(resolved))
  
      return resolved