Refactoring the AXAnnouncements abit so there's no separate classes for 0-, 1-, and 2-arg blocks, and really missing these methods from VisualWorks... cull: is equivalent to value: protocol except they accept block with N or less blockArgs Yes, I know valueWithEnoughArguments:/valueWithPossibleArgs: provide the same functionality, but the code looks much less nice using them, you end up constructing arrays needlessly etc. Look at the senders of valueWithPossibleArgs: for examples, very few of those actually need the ability to accept blocks with more arguments than they provide, and would also look nicer with cull:. Would anyone object strongly to adding the cull:, cull:cull: methods in core instead of putting them as extension methods? Cheers, Henry