Index: src/Common/PassVisitor.h
===================================================================
--- src/Common/PassVisitor.h	(revision 6a0d1b1e8d0e8397f8de83a000ffac69f486b89d)
+++ src/Common/PassVisitor.h	(revision 5e298d76f4907c104a5c68c87edd4ae0b34414b5)
@@ -18,5 +18,13 @@
 // Templated visitor type
 // To use declare a PassVisitor< YOUR VISITOR TYPE >
-// The visitor type should specify the previsit/postvisit for types that are desired.
+// The visitor type should specify the previsit/postvisit/premutate/postmutate for types that are desired.
+//
+// Several additional features are available through inheritance
+// | WithTypeSubstitution - provides polymorphic TypeSubstitution * env for the current expression
+// | WithStmtsToAdd       - provides the ability to insert statements before or after the current statement by adding new statements into
+//                          stmtsToAddBefore or stmtsToAddAfter respectively.
+// | WithShortCircuiting  - provides the ability to skip visiting child nodes; set skip_children to true if pre{visit,mutate} to skip visiting children
+// | WithScopes           - provides the ability to save/restore data like a LIFO stack; to save, call GuardValue with the variable to save, the variable
+//                          will automatically be restored to its previous value after the corresponding postvisit/postmutate teminates.
 //-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 template< typename pass_type >
