This logic to short circuit warming is the same in `warm` and  `warmTop`, should it be extracted to a helper method?