Packing Switches
Packing Switches

Just like the unpacking, this generalizes the return value of
structElemToPyPack to include a list, the last element of which supplies
the cases for the switch, where the non-switch behavior is recovered by
passing the arguments in the same order, with Nothing for the cases.

This is similar to unpacking in that it assumes we only have to pack
single items one switch deep, and so we have to build the switch
expression as we go.  Some smart functional programming could probably
fix this, but the use of Expr's rather than Suite's make this tricky,
this accomplishes the task of parsing the current xml without big
refactoring.

tych0/xcffib