ElementFunctionComparator and ElementValueComparator now exist to allow for vendor introspection into comparator contructs involving elements -- e.g. order(). @mbroecheler  Likewise ElementValueFunction exists for vendor introspection -- e.g. aggregate(), group(), groupBy(), etc. More work on toString() look-and-feel of steps and traverals. CoinStep is now bulk-aware (though I bet there is a more efficient algorithm).