Cleanup: rearrange how overlap checking is done in can_reference().