Next question ...

I discovered the "arity" function in the documentation.  What puzzles
me is the non-intuitive values returned by arity.  Why does a block
with one argument return -2, but a block with two arguments return 2?

To say the least, I was surprised (new interpretation of the "Principle
of Least Surprise").

-- 
-- Jim Weirich     jweirich / one.net    http://w3.one.net/~jweirich
---------------------------------------------------------------------
"Beware of bugs in the above code; I have only proved it correct, 
not tried it." -- Donald Knuth (in a memo to Peter van Emde Boas)