diff --git a/gosumcheck/main.go b/gosumcheck/main.go
index 1e92f1f..c1d8fc2 100644
--- a/gosumcheck/main.go
+++ b/gosumcheck/main.go
@@ -28,7 +28,6 @@
 //
 // To discourage misuse in automated settings, gosumcheck does not
 // set any exit status to report whether any problems were found.
-//
 package main
 
 import (
diff --git a/modfile/read.go b/modfile/read.go
index 956f30c..70947ee 100644
--- a/modfile/read.go
+++ b/modfile/read.go
@@ -285,7 +285,6 @@
 //		"x"
 //		"y"
 //	)
-//
 type LineBlock struct {
 	Comments
 	Start  Position
diff --git a/module/module.go b/module/module.go
index 355b5a4..795d076 100644
--- a/module/module.go
+++ b/module/module.go
@@ -15,7 +15,7 @@
 // but additional checking functions, most notably Check, verify that
 // a particular path, version pair is valid.
 //
-// Escaped Paths
+// # Escaped Paths
 //
 // Module paths appear as substrings of file system paths
 // (in the download cache) and of web server URLs in the proxy protocol.
@@ -55,7 +55,7 @@
 // Import paths have never allowed exclamation marks, so there is no
 // need to define how to escape a literal !.
 //
-// Unicode Restrictions
+// # Unicode Restrictions
 //
 // Today, paths are disallowed from using Unicode.
 //
diff --git a/sumdb/note/note.go b/sumdb/note/note.go
index 4a00501..4d86eef 100644
--- a/sumdb/note/note.go
+++ b/sumdb/note/note.go
@@ -18,7 +18,7 @@
 // A given server may have multiple public keys, each
 // identified by a 32-bit hash of the public key.
 //
-// Verifying Notes
+// # Verifying Notes
 //
 // A Verifier allows verification of signatures by one server public key.
 // It can report the name of the server and the uint32 hash of the key,
@@ -45,7 +45,7 @@
 // the message signatures and returns a Note structure
 // containing the message text and (verified or unverified) signatures.
 //
-// Signing Notes
+// # Signing Notes
 //
 // A Signer allows signing a text with a given key.
 // It can report the name of the server and the hash of the key
@@ -61,7 +61,7 @@
 // The Sign function takes as input a Note and a list of Signers
 // and returns an encoded, signed message.
 //
-// Signed Note Format
+// # Signed Note Format
 //
 // A signed note consists of a text ending in newline (U+000A),
 // followed by a blank line (only a newline),
@@ -81,7 +81,7 @@
 // to sign the note text (including the final newline but not the
 // separating blank line).
 //
-// Generating Keys
+// # Generating Keys
 //
 // There is only one key type, Ed25519 with algorithm identifier 1.
 // New key types may be introduced in the future as needed,
@@ -91,7 +91,7 @@
 // The GenerateKey function generates and returns a new signer
 // and corresponding verifier.
 //
-// Example
+// # Example
 //
 // Here is a well-formed signed note:
 //
@@ -171,7 +171,6 @@
 //
 //	— PeterNeumann x08go/ZJkuBS9UG/SffcvIAQxVBtiFupLLr8pAcElZInNIuGUgYN1FFYC2pZSNXgKvqfqdngotpRZb6KE6RyyBwJnAM=
 //	— EnochRoot rwz+eBzmZa0SO3NbfRGzPCpDckykFXSdeX+MNtCOXm2/5n2tiOHp+vAF1aGrQ5ovTG01oOTGwnWLox33WWd1RvMc+QQ=
-//
 package note
 
 import (
diff --git a/sumdb/server.go b/sumdb/server.go
index 28866f1..2e523a5 100644
--- a/sumdb/server.go
+++ b/sumdb/server.go
@@ -54,7 +54,6 @@
 //	for _, path := range sumdb.ServerPaths {
 //		http.Handle(path, srv)
 //	}
-//
 var ServerPaths = []string{
 	"/lookup/",
 	"/latest",
diff --git a/sumdb/tlog/tlog.go b/sumdb/tlog/tlog.go
index 01d06c4..ae065f8 100644
--- a/sumdb/tlog/tlog.go
+++ b/sumdb/tlog/tlog.go
@@ -8,7 +8,6 @@
 // This package follows the design of Certificate Transparency (RFC 6962)
 // and its proofs are compatible with that system.
 // See TestCertificateTransparency.
-//
 package tlog
 
 import (
diff --git a/zip/zip.go b/zip/zip.go
index ca0f7ad..949cae2 100644
--- a/zip/zip.go
+++ b/zip/zip.go
@@ -931,7 +931,9 @@
 }
 
 // strToFold returns a string with the property that
+//
 //	strings.EqualFold(s, t) iff strToFold(s) == strToFold(t)
+//
 // This lets us test a large set of strings for fold-equivalent
 // duplicates without making a quadratic number of calls
 // to EqualFold. Note that strings.ToUpper and strings.ToLower
