code: def __init__(self, node):
      self.func = node
      if isinstance(node, ast.FunctionDef):
          self.global_effect = False
      elif isinstance(node, intrinsic.Intrinsic):
          self.global_effect = node.global_effects
      elif isinstance(node, ast.alias):
          self.global_effect = False
      elif isinstance(node, str):
          self.global_effect = False
      elif isinstance(node, intrinsic.Class):
          self.global_effect = False
      elif isinstance(node, intrinsic.UnboundValueType):
          self.global_effect = True  # conservative choice
      else:
          raise NotImplementedError
  
imports: from pythran.analyses.aliases import Aliases
  from pythran.analyses.intrinsics import Intrinsics
  from pythran.analyses.global_declarations import GlobalDeclarations
  from pythran.passmanager import ModuleAnalysis
  from pythran.tables import MODULES
  from pythran.graph import DiGraph
  import pythran.intrinsic
  import gast
  from functools import reduce
label_desc: Use image node_id 1 to create a new FunctionEffect object from inherited base classes: object with example: obj = FunctionEffect(node)