code: def visit_FunctionDeclaration(self, node):
          
          scope = self.memory.stack.current.current.copy()
          args = [parameter.variable.identifier.name for parameter in node.parameters]
  
          for i in islice(scope, len(args)):
              self.memory.stack.current.current.pop(i)
              self.memory[args[i]] = scope[i]
  
          return self.visit(node.body)
docs: Visitor for `FunctionDeclaration` AST node.