... des Ist-Zustandes.

Es wäre aber für die IBM kein Problem, Meta-Informationen über jeden Parameter vor dem Call irgendwo zu merken und bei Bedarf (eben über eine neue Funktion) dem aufgerufenen Programm zur Verfügung zu stellen.

Ebenso sollten vor dem Call die Parameterdefinitionen eingesehen werden, um z.B. ein anderes "Mirakel" zu lösen, z.B. ein Call von der Commandline mit einem String, der kürzer als 32 Bytes ist an eine Variable, die länger als 32 Bytes ist. Oder korrekte numerische Übergabe und nicht stur gepackt 15/5.

Default sollte das Einhalten der Konventionen sein mit Fehlermeldung wenn die Parameter nicht passen, aber wenn ich weiß, was ich tue, wie in diesem Beispiel XMan, sollte ich mit Variablen jeder Länge (und vielleicht sogar Art) umgehen können. (Aber erfahren können, was und wie groß es ist.)
Sicher kann man das mit Pointern und einer Hilfsvariablen lösen, aber wie gesagt, es ginge "schöner".