diff --git a/docs/building-module/2-eis.html b/docs/building-module/2-eis.html
index 495026a4a..2d70781b1 100644
--- a/docs/building-module/2-eis.html
+++ b/docs/building-module/2-eis.html
@@ -617,7 +617,7 @@ somewhere (in fact, always in a property value).
InterSchemas::throw_error(node, I"too many arguments for call-message");
return;
}
- inter_ti BIP = Primitives::BIP_for_indirect_call_returning_value(argc);
+ inter_ti BIP = Primitives::BIP_for_indirect_call_returning_value(argc-1);
Produce::inv_primitive(I, BIP);
Produce::down(I);
for (; at; at=at->next_node) EIS_RECURSE(at, VAL_PRIM_CAT);
diff --git a/inform7/Figures/timings-diagnostics.txt b/inform7/Figures/timings-diagnostics.txt
index d68c47421..ea942a273 100644
--- a/inform7/Figures/timings-diagnostics.txt
+++ b/inform7/Figures/timings-diagnostics.txt
@@ -1,34 +1,33 @@
100.0% in inform7 run
71.0% in compilation to Inter
- 50.6% in //Sequence::undertake_queued_tasks//
- 4.6% in //MajorNodes::pre_pass//
+ 50.5% in //Sequence::undertake_queued_tasks//
+ 4.7% in //MajorNodes::pre_pass//
3.5% in //MajorNodes::pass_1//
- 1.8% in //ImperativeDefinitions::assess_all//
- 1.4% in //RTKindConstructors::compile//
- 1.4% in //RTPhrasebook::compile_entries//
- 1.1% in //Sequence::lint_inter//
+ 1.9% in //ImperativeDefinitions::assess_all//
+ 1.5% in //RTKindConstructors::compile//
+ 1.3% in //RTPhrasebook::compile_entries//
+ 0.9% in //Sequence::lint_inter//
0.5% in //MajorNodes::pass_2//
- 0.5% in //Sequence::undertake_queued_tasks//
0.5% in //World::stage_V//
0.3% in //ImperativeDefinitions::compile_first_block//
0.3% in //Sequence::undertake_queued_tasks//
+ 0.3% in //Sequence::undertake_queued_tasks//
0.1% in //CompletionModule::compile//
0.1% in //InferenceSubjects::emit_all//
0.1% in //RTKindConstructors::compile_permissions//
0.1% in //Task::make_built_in_kind_constructors//
0.1% in //World::stages_II_and_III//
- 2.8% not specifically accounted for
+ 2.9% not specifically accounted for
25.9% in running Inter pipeline
10.0% in step 14/15: generate inform6 -> auto.inf
5.7% in step 5/15: load-binary-kits
- 5.6% in step 6/15: make-synoptic-module
- 1.4% in step 9/15: make-identifiers-unique
- 0.5% in step 4/15: compile-splats
+ 5.7% in step 6/15: make-synoptic-module
+ 1.3% in step 9/15: make-identifiers-unique
0.3% in step 12/15: eliminate-redundant-operations
+ 0.3% in step 4/15: compile-splats
0.3% in step 7/15: shorten-wiring
0.3% in step 8/15: detect-indirect-calls
- 0.1% in step 10/15: reconcile-verbs
0.1% in step 11/15: eliminate-redundant-labels
- 0.9% not specifically accounted for
- 2.6% in supervisor
- 0.4% not specifically accounted for
+ 1.3% not specifically accounted for
+ 2.7% in supervisor
+ 0.2% not specifically accounted for
diff --git a/inter/building-module/Chapter 2/Emitting Inter Schemas.w b/inter/building-module/Chapter 2/Emitting Inter Schemas.w
index d9f430395..9c09b114d 100644
--- a/inter/building-module/Chapter 2/Emitting Inter Schemas.w
+++ b/inter/building-module/Chapter 2/Emitting Inter Schemas.w
@@ -463,7 +463,7 @@ somewhere (in fact, always in a property value).
InterSchemas::throw_error(node, I"too many arguments for call-message");
return;
}
- inter_ti BIP = Primitives::BIP_for_indirect_call_returning_value(argc);
+ inter_ti BIP = Primitives::BIP_for_indirect_call_returning_value(argc-1);
Produce::inv_primitive(I, BIP);
Produce::down(I);
for (; at; at=at->next_node) EIS_RECURSE(at, VAL_PRIM_CAT);