code: def native_concat(nodes):
      """Return a native Python type from the list of compiled nodes. If
      the result is a single node, its value is returned. Otherwise, the
      nodes are concatenated as strings. If the result can be parsed with
      :func:`ast.literal_eval`, the parsed value is returned. Otherwise,
      the string is returned.
  
      :param nodes: Iterable of nodes to concatenate.
      """
      head = list(islice(nodes, 2))
  
      if not head:
          return None
  
      if len(head) == 1:
          raw = head[0]
      else:
          raw = "".join([text_type(v) for v in chain(head, nodes)])
  
      try:
          return literal_eval(raw)
      except (ValueError, SyntaxError, MemoryError):
          return raw
  
imports: from ast import literal_eval
  from itertools import chain
  from itertools import islice
  from .None import nodes
  from ._compat import text_type
  from .compiler import CodeGenerator
  from .compiler import has_safe_repr
  from .environment import Environment
  from .environment import Template
label_desc: Use image node_id 1 for calling a global function with example usage: native_concat(nodes) and returns: None, literal_eval, raw