aha, so in general any given block with the nonce as the only variable is not likely to have a solution at all?
It is always possible that there is
no solution for the entire range of nonce (0 - 0xffffffff).
However, the timestamp and extranonce are changed every few seconds, as is merkle tree root. This helps avoid a situation where we get stuck with no solutions.