It’s useful to be able to wait for an active chaintip to appear, by calling waitTipChanged(uint256::ZERO);.
Unfortunately this doesn’t work out of the box, because notifications().m_tip_block is ZERO until a new block arrives.
Additionally we need an early return before calling wait_for.