I don't even know if `error_occurred?` is necessary. There is already an `error?` [method available](https://github.com/os97673/minitest/blob/a8ecd3f241b14478af68841efc635e12b2742e6b/lib/minitest/test.rb#L216)

Also if you dig into `Runnable` you'll see that `failure` simply returns the `self.failures.first`

The only thing I *think* that would be perhaps worth doing would be memoizing those functions to prevent multiple reporters from causing all that code to be run over and over.

Though I don't know if that would be considered premature optimization or not.