code: def is_void(func):
      
      try:
          source = dedent(inspect.getsource(func))
      except (OSError, IOError):
          return False
      fdef = next(ast.iter_child_nodes(ast.parse(source)))
      return (
        type(fdef) is ast.FunctionDef and len(fdef.body) == 1 and
        type(fdef.body[0]) is ast.Expr and
        type(fdef.body[0].value) in {ast.Str, ast.Ellipsis})
docs: Determines if a function is a void function, i.e., one whose body contains
      nothing but a docstring or an ellipsis. A void function can be used to introduce
      an overloaded function without actually registering an implementation.