Everyone's been very helpful, so I think one of us is entitled to be cranky: Why
)? That is, is this approach actually essential for some application, or were you puzzling out for “academic” interest why a construct wasn't working as expected (or is it some more sinister other, like that you're intending to use soft references after all?).