Patch by Christophe Rhodes on closure-devel <87ejk2sngi.fsf@cantab.net>