commit: aBlock
| result | self begin. result _ aBlock value. self commit. ^result
... and aBlock has a return. Bummer.
shouldn't that be aBlock valueOnReturnDo: [self commit] or something?
(hmm.. Squeak doesn't have that one.)
Anyway, i'll rewrite my code but I really think that "commit: [^foo]" shouldn't fail in this way...