cleaned up TraverserHelperMacros and added an embryo of a stateful combinator