// FIXME checkArity
boolean succeed = false;
Vertex returnVertex;
if (args.length == 1) {
YieldVertex vertex = new YieldVertex(null, template, block, graph.createFreeVertex(args[0]), true);
returnVertex = RuntimeHelper.yield(graph, vertex);
} else {
Vertex[] elements = new Vertex[args.length];
for (int i = 0; i < args.length; i++) {
elements[i] = graph.createFreeVertex();
elements[i].addTypes(args[i]);
}
YieldVertex vertex = new YieldVertex(null, template, block, graph.createFreeSingleTypeVertex(RuntimeHelper.createArray(graph, elements)), true);
returnVertex = RuntimeHelper.yield(graph, vertex);
}
if (returnVertex != null) {
succeed = true;