Merge trains facilitate parallel execution in order to shorten the waiting time until changes are executed. Up to four pipelines run in parallel, all of which assume that the previous request has worked.
Instead of simply queuing and waiting, each merge request takes the completed state of the previous (pending) merge (i.e. the merge result of the merge), adds its changes, and starts the pipeline immediately in parallel (assuming that everything is going to pass).
This means that a restart is only necessary if an error occurs, not wasting pipeline time on queuing or retrying.