Retain same behaviour, but simplify so there's only one successful return location instead of three.