The name of this function makes it seem like it returns a "booleanish" value, not exit if not clean. May I suggest something like `abort_if_dirty`?