What would happen if you represented stacks as "units"? That would make it impossible to have multi-unit-type stacks, but you would at least be able to pull off stacks of 8 pikers and whatnot.
I had thought of that. It's not as impossible as it might look... everything in the game that is not map surface is represented by what the xconq software calls a unit. A unit can be an infantry, a dwagon, even a city. (In one game there's a unit called "rubble pile" which is what a wrecked city turns into.) One of my thoughts was creating a unit type called a stack, which would essentially be a transport that can hold X number of other units. That would let units stack together (in the Erfworld sense) and move around. What I wasn't sure about was how to represent a bonus based on that, or for that matter a bonus based on if a Warlord is present in the stack. Actually I'm having enough trouble just generating a map and placing a single unit on it somewhere.
Also, while the descriptor language syntax is reasonably well documented, there aren't a whole lot of examples, so I'm having to do some trial and error for some of the more esoteric stuff, and that's not going well. It has a very Lisp-like syntax, which means it's somewhat XML-like also, except without all of the angle brackets.