Silly me. I've worked out that I needed the @ to get * bound. But I don't see why I got "uncaught exception" -- the behaviour I would have expected would have been for x to have been set to a null value. OK, John.