It was detected by Dmitry, that VC has rather non-standard rules when allocating
stack variables. I can provide omitted here details, but the result was about 13K on stack
per each PASS1_node() invocation (gcc consumed only 1.25K for it). With allocation of
status array from the pool problem became much less dangerous, but stack consumption is still
rather big in VC. This version of classes makes on-stack memory, used by each instance
of the class, as small as possible - sizeof(void*). Therefore please don't blame me
for 'strange' internals of Arg classes.