`_condition, *whens, _else = *case_node` is what I'd write here.
The code looks that way in AST::Processor because pre-1.9 rubies do not support unpacking with rest (*foo) being non-last field, and I have to support 1.8 too.