I think actually everything is meant to implement has_targets, so we should just call that all the time, no need for the if.