It's a non-local return to escape the fold early in case of error in gc_manifests. The catch returns the error. Otherwise we'd have what I replaced, which is a fold with 2 clauses that must go through the list returning error in the accumulator each time. I wasn't sure which one I liked better, but this one has less code.