docs: def used_in_func(statement: str, filename: str = '<string>',
                   mode: str = 'exec'):
      '''Parse a Python statement and analyze the symbols used. The result
      will be used to determine what variables a step depends upon.'''
      try:
          return get_used_in_func(ast.parse(statement, filename, mode))
      except Exception as e:
          raise RuntimeError(f'Failed to parse statement: {statement} {e}')