code: def prepare(self, node):
          
  
          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)
docs: Initialise values to prepare typing computation.
  
          Reorder functions to avoid dependencies issues and prepare typing
          computation setting typing values for Pythonic functions.