Because all routes execute in parallel, the idea is to provide a way to throw one single exception that provides information about what went wrong on each failing route. It's defined as so in the spec