Hmm, should this be `break unless` actually?  Returning from inside this block sounds wrong...