https://github.com/aeubanks commented: things seem cleaner if we have some overarching VerifyType enum with values like `None`, `Each`, `BeginAndEnd`. there are a lot of confusing conditionals here https://github.com/llvm/llvm-project/pull/228248