(1) I have #value:valueWithArguments: in my personal library.
(2) The way to answer your question is to look at #valueWithArguments:,
������ It normally goes through a primitive.
������ However, it *does* have backup code that you could adapt.
(3) Without benchmarking, it's not clear whether the cost of not being
������ able to go through the primitive will exceed the saving of not
������ making another array.�� It might not be the win you expect.
������ Have you profile your code to find out whether this way of
������ invoking a block is *worth* speeding up?
(4) aBlock value: {a} , remaining
������ has the merit of working in other Smalltalks
������ and the merit of being familiar to other programmers.
(5) Is there no way that you can restructure your code so that you
������ no longer want to do this?�� Point (1) is true, but only because
������ I've never bothered to throw it away.�� In the system where I
������ wrote it, it *does* save time overall, but in the complete
������ context, it wasn't worth doing.