def _Apply(self, ast):
        fn_id = ast.function().id
        arity = -1
        if fn_id in self.applies:
            args = ast.arguments()
            arity = len(args)
        elif fn_id in self.binders:
            arity = self.arity
            assert(arity > 0)
            
        if arity > 0:
            return S.Apply(S.Name(fn_id + str(arity)), ast.arguments())
        else:
            return ast
dataset/ETHPy150Open bryancatanzaro/copperhead/copperhead/compiler/rewrites.py/VariadicLowerer._Apply/original