Inbound Argument Conversion
The conversion of arguments supplied by callbacks into the Smalltalk objects passed to the callback methods is performed by a primitive (BlockClosure>>valueWithArgumentsAt:descriptor:).
A primitive is used to instantiate appropriate objects for callback arguments to ensure reasonable performance, and for consistent behaviour with the rest of the external interfacing support in Dolphin. The conversions applied to inbound arguments are the same as those used to create return values for external calls. However, because the callbacks are initially routed via the image, no flexibility is lost and alternative argument coercion strategies can be employed if desired.