Then I suggest combining the safety/purity/nothrow checks so they all done together, rather than not propagating the error.