code: def node_conv(obj):
      
      try:
          get = obj.get
      except AttributeError:
          if isinstance(obj, SCons.Node.Node) or SCons.Util.is_Sequence( obj ):
              result = obj
          else:
              result = str(obj)
      else:
          result = get()
      return result
docs: This is the "string conversion" routine that we have our substitutions
      use to return Nodes, not strings.  This relies on the fact that an
      EntryProxy object has a get() method that returns the underlying
      Node that it wraps, which is a bit of architectural dependence
      that we might need to break or modify in the future in response to
      additional requirements.