David T. Lewis wrote:
I do not know why it was done that way.
I do. The idea was to add type annotations to a snippet of code that could be helped a lot by translating them to C but doesn't inherently require it. For example John Maloney "prototyped" the sound prims, then threw in the required type annotations so we could translate them to C and speed them up by few orders of magnitude.
It does make sense if you think about the issue in the way that this is code with type annotations to make them translatable instead of thinking about them as primitives that can also be run directly.
Cheers, - Andreas