As with "parameter passing" between xml-micros, McMicMac supports something similar. In Krishnamurthi's work, this technique is called "threaded attributes", and the transformations which thread attributes are given in a direct style, rather the monadic style shown here.
For contrast with the technique described in this part, consider what the direct style would look like (as in McMicMac):
(xml-micro *text* (lambda (t) (lambda (depth s) (values (cons s depth) (+ s 1)))))
While this is manageable for such a simple case, consider re-writing the *element* micro above in this style.
The choice to thread state via a monad in this article was inspired by a pair of tutorials which appeared on Dan Friedman's web site the fall 2002 semester [3], [4].