diff --git a/examples/glue.h b/examples/glue.h
index 2b60646c6da24c38fd671493786b40f6b8900e20..7fb9f8a133d548e62b8fd621fdc3591e8a2998c2 100644
--- a/examples/glue.h
+++ b/examples/glue.h
@@ -1,12 +1,17 @@
+//
+// API additions for writing grammar and semantic actions more concisely
+//
+
 #ifndef HAMMER_EXAMPLES_GLUE__H
 #define HAMMER_EXAMPLES_GLUE__H
 
 #include <assert.h>
 #include "../src/hammer.h"
 
-///
-// API Additions
-///
+
+//
+// Grammar specification
+//
 
 #define H_RULE(rule, def) const HParser *rule = def
 #define H_ARULE(rule, def) const HParser *rule = h_action(def, act_ ## rule)
@@ -17,6 +22,11 @@
 #define H_AVRULE(rule, def) const HParser *rule = \
   h_action(h_attr_bool(def, validate_ ## rule), act_ ## rule)
 
+
+//
+// Pre-fab semantic actions
+//
+
 const HParsedToken *h_act_ignore(const HParseResult *p);
 const HParsedToken *h_act_index(int i, const HParseResult *p);
 const HParsedToken *h_act_flatten(const HParseResult *p);
@@ -28,10 +38,12 @@ const HParsedToken *h_act_flatten(const HParseResult *p);
     return paction(__VA_ARGS__, p); \
   }
 
-const HParsedToken *h_token_flatten(HArena *arena, const HParsedToken *p);
 
-void h_seq_snoc(HParsedToken *xs, const HParsedToken *x);
-void h_seq_append(HParsedToken *xs, const HParsedToken *ys);
+//
+// Working with HParsedTokens
+//
+
+// Token constructors...
 
 HParsedToken *h_make_token(HArena *arena, HTokenType type, void *value);
 HParsedToken *h_make_token_seq(HArena *arena);
@@ -42,6 +54,14 @@ HParsedToken *h_make_token_seq(HArena *arena);
 #define H_MAKE_TOKEN(TYP, VAL) \
   h_make_token(p->arena, TT_ ## TYP, VAL)
 
+// Sequences...
+
+// Flatten nested sequences into one.
+const HParsedToken *h_token_flatten(HArena *arena, const HParsedToken *p);
+
+void h_seq_snoc(HParsedToken *xs, const HParsedToken *x);
+void h_seq_append(HParsedToken *xs, const HParsedToken *ys);
+
 HParsedToken *h_carray_index(const HCountedArray *a, size_t i);
 HParsedToken *h_seq_index(const HParsedToken *p, size_t i);
 void *h_seq_index_user(HTokenType type, const HParsedToken *p, size_t i);
@@ -52,4 +72,5 @@ void *h_seq_index_user(HTokenType type, const HParsedToken *p, size_t i);
 #define H_FIELD(TYP, IDX) \
   H_SEQ_INDEX(TYP, p->ast, IDX)
 
+
 #endif