When does this fail? And it seems odd to put `failures <<- list()` in the finally block. Can you explain more?