Looks pretty cool I've wanted something similar many times
Quick question, why this style?
opts := toil.Options{}. WithWorkers(4). // Use 4 workers (default: number of CPU cores) StopOnError(true)
Most golang uses: toil.Options{Workers: 4} etc etc?
Bar that I look forward to using it!
Another thing maybe
Using context here would be great so jobs can be cancelled instead of timeout