can we call this `hasX`  instead of `shouldRetrieve`