code: def build_combiner(signature, deps):
      sig_args = signature.__args__[:-1]
  
      def combiner(self, node):
          if deps and len(node.args) == len(sig_args):
              try:
                  unary_op, main_index = build_unary_op(
                      deps, sig_args, self, node
                  )
  
                  self.combine(
                      node.args[0], unary_op, node.args[main_index]
                  )
              except InfeasibleCombiner:
                  pass
  
      return combiner
  
file_path: catboost/contrib/python/pythran/pythran/types/signature.py
imports: from pythran.typing import List, Dict, Set, Fun, TypeVar
  from pythran.typing import Union, Iterable
label_desc: Use image node_id 5 for calling a global function with example usage: build_combiner(signature, deps) and returns: combiner