class_docstr: Infer symbolic type for all AST node. 
class_docstr_tok: ["Infer","symbolic","type","for","all","AST","node","."]
docstr: Initialise values to prepare typing computation.
  
  Reorder functions to avoid dependencies issues and prepare typing
  computation setting typing values for Pythonic functions.
docstr_tok: ["Initialise","values","to","prepare","typing","computation",".","Reorder","functions","to","avoid","dependencies","issues","and","prepare","typing","computation","setting","typing","values","for","Pythonic","functions","."]
code: def prepare(self, node):
      """
      Initialise values to prepare typing computation.
  
      Reorder functions to avoid dependencies issues and prepare typing
      computation setting typing values for Pythonic functions.
      """
  
      def register(name, module):
          """Recursively save function typing and combiners for Pythonic."""
          for fname, function in module.items():
              if isinstance(function, dict):
                  register(name + "::" + fname, function)
              else:
                  tname = "pythonic::{0}::functor::{1}".format(
                      name, fname
                  )
                  self.result[function] = self.builder.NamedType(tname)
                  self.combiners[function] = function
                  if isinstance(function, Class):
                      register(name + "::" + fname, function.fields)
  
      for mname, module in MODULES.items():
          register(mname, module)
      super(Types, self).prepare(node)
  
imports: from pythran.analyses import LazynessAnalysis, StrictAliases, YieldPoints
  from pythran.analyses import LocalNodeDeclarations, Immediates, RangeValues
  from pythran.analyses import Ancestors
  from pythran.config import cfg
  from pythran.cxxtypes import TypeBuilder, ordered_set
  from pythran.intrinsic import UserFunction, Class
  from pythran.passmanager import ModuleAnalysis
  from pythran.tables import operator_to_lambda, MODULES
  from pythran.types.conversion import pytype_to_ctype
  from pythran.types.reorder import Reorder
  from pythran.utils import attr_to_path, cxxid, isnum, isextslice
  from collections import defaultdict
  from functools import reduce
  import gast
  from itertools import islice
  from copy import deepcopy
label_desc: Use image node_id 3 for calling the Types obj's underlying member method code with example usage: obj.prepare(node) without return types