+void callClosure(Thread* thread, Closure closure, size_t argumentCount) {
+ assert(argumentCount == 0);
+
+ Frame* returnFrame = malloc(sizeof(Frame));
+ *returnFrame = thread->frame;
+ Frame_initialize(
+ &(thread->frame),
+ Environment_construct(Environment_reference(closure.environment)),
+ returnFrame,
+ closure.entry - 1 // We will increment the frame immediately after this
+ );
+}
+
+void inst_call(Thread* thread, Argument argument) {