The problem is that since <https://github.com/nim-lang/Nim/pull/21379>, the whole module is parsed at once instead of streaming, which makes `push`, `pop` is quite awkward since we now need N cases to handle push/pop now.
- Issue: regression on 2.x.x: push warning[HoleEnumConv]:off does ... xtr00
- Issue: regression on 2.x.x: push warning[HoleEnumConv]:off ... Calonger
- Issue: regression on 2.x.x: push warning[HoleEnumConv]:... nrk
- Issue: regression on 2.x.x: push warning[HoleEnumCo... xtr00
- Issue: regression on 2.x.x: push warning[HoleEn... PMunch
- Issue: regression on 2.x.x: push warning[H... xtr00
- Issue: regression on 2.x.x: push warni... ringabout
- Issue: regression on 2.x.x: push w... ringabout
- Issue: regression on 2.x.x: push w... ringabout