code: def create_temp(node, namer):
    
    if isinstance(node, gast.Name):
      name = node.id
    elif isinstance(node, (gast.Attribute, gast.Subscript)):
      name = node.value.id
    else:
      raise TypeError
    temp_node = gast.Name(id=namer.temp(name), annotation=None, ctx=None)
    anno.setanno(temp_node, 'temp_var', node)
    return temp_node
docs: Create a temporary variable.
  
    Args:
      node: Create a temporary variable to store this variable in.
      namer: A naming object that guarantees the names are unique.
  
    Returns:
      node: See `create_grad`. Returns a temporary variable, which is always a
          simple variable annotated with `temp_var`.