factored out range check into range#cover? and in separate method