I split out a change to catch `RuntimeException` here into another commit.