diff --git a/src/reader/wgsl/parser_impl.cc b/src/reader/wgsl/parser_impl.cc
index 7495b5a..7e3064d 100644
--- a/src/reader/wgsl/parser_impl.cc
+++ b/src/reader/wgsl/parser_impl.cc
@@ -1991,12 +1991,12 @@
                                               std::move(continuing));
 }
 
-ForHeader::ForHeader(std::unique_ptr<ast::Statement> _initializer,
-                     std::unique_ptr<ast::Expression> _condition,
-                     std::unique_ptr<ast::Statement> _continuing)
-    : initializer(std::move(_initializer)),
-      condition(std::move(_condition)),
-      continuing(std::move(_continuing)) {}
+ForHeader::ForHeader(std::unique_ptr<ast::Statement> init,
+                     std::unique_ptr<ast::Expression> cond,
+                     std::unique_ptr<ast::Statement> cont)
+    : initializer(std::move(init)),
+      condition(std::move(cond)),
+      continuing(std::move(cont)) {}
 
 ForHeader::~ForHeader() = default;
 
diff --git a/src/reader/wgsl/parser_impl.h b/src/reader/wgsl/parser_impl.h
index 360ad76..d4a7abc 100644
--- a/src/reader/wgsl/parser_impl.h
+++ b/src/reader/wgsl/parser_impl.h
@@ -52,16 +52,24 @@
 
 class Lexer;
 
+/// Struct holding information for a for loop
 struct ForHeader {
-  std::unique_ptr<ast::Statement> initializer;
-  std::unique_ptr<ast::Expression> condition;
-  std::unique_ptr<ast::Statement> continuing;
-
-  ForHeader(std::unique_ptr<ast::Statement> _initializer,
-            std::unique_ptr<ast::Expression> _condition,
-            std::unique_ptr<ast::Statement> _continuing);
+  /// Constructor
+  /// @param init the initializer statement
+  /// @param cond the condition statement
+  /// @param cont the continuing statement
+  ForHeader(std::unique_ptr<ast::Statement> init,
+            std::unique_ptr<ast::Expression> cond,
+            std::unique_ptr<ast::Statement> cont);
 
   ~ForHeader();
+
+  /// The for loop initializer
+  std::unique_ptr<ast::Statement> initializer;
+  /// The for loop condition
+  std::unique_ptr<ast::Expression> condition;
+  /// The for loop continuing statement
+  std::unique_ptr<ast::Statement> continuing;
 };
 
 /// ParserImpl for WGSL source data
