private function visit_function(array $node)
{
$value = $this->makeVar('val');
$args = $this->makeVar('args');
$this->write('%s = $value;', $value)->write('%s = [];', $args);
foreach ($node['children'] as $arg) {
$this->dispatch($arg);
$this->write('%s[] = $value;', $args)->write('$value = %s;', $value);
}
return $this->write('$value = Fn::getInstance()->__invoke("%s", %s);', $node['value'], $args);
}