diff --git a/cmd/bent/bent.go b/cmd/bent/bent.go
index 22d681a..ce7e772 100644
--- a/cmd/bent/bent.go
+++ b/cmd/bent/bent.go
@@ -1092,13 +1092,13 @@
 }
 
 // checkAndSetUpFileSystem does a number of tasks to ensure that the tests will
-// run properly. It:
+// run properly.
 //
-//   - Makes sure we're not going to accidentally overwrite previous results
-//   - if shouldInit is true, we:
-//     - Create a Dockerfile.
-//     - Create all the configuration files.
-//     - Exit
+// First, it makes sure we're not going to accidentally overwrite previous results.
+// Then, it shouldInit is true, it:
+//   - Creates a Dockerfile.
+//   - Creates all the configuration files.
+//   - Exits.
 func checkAndSetUpFileSystem(shouldInit bool) error {
 	// To avoid bad surprises, look for pkg and bin, if they exist, refuse to run
 	_, derr := os.Stat("Dockerfile")
diff --git a/driver/driver.go b/driver/driver.go
index b1fb3ad..ba32d3f 100644
--- a/driver/driver.go
+++ b/driver/driver.go
@@ -8,8 +8,8 @@
 // benchmark function can do one of two things when invoked:
 //  1. Do whatever it wants, fill and return Result object.
 //  2. Call Benchmark helper function and provide benchmarking function
-//  func(N uint64), similar to standard testing benchmarks. The rest is handled
-//  by the driver.
+//     func(N uint64), similar to standard testing benchmarks. The rest is handled
+//     by the driver.
 package driver // import "golang.org/x/benchmarks/driver"
 
 import (
diff --git a/driver/driver_darwin.go b/driver/driver_darwin.go
index 19e3670..24c11d5 100644
--- a/driver/driver_darwin.go
+++ b/driver/driver_darwin.go
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build !linux
 // +build !linux
 
 package driver
diff --git a/driver/driver_go10.go b/driver/driver_go10.go
index 2874b98..6d6c81b 100644
--- a/driver/driver_go10.go
+++ b/driver/driver_go10.go
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build !go1.2
 // +build !go1.2
 
 package driver
diff --git a/driver/driver_go12.go b/driver/driver_go12.go
index 7a99810..02f5ecc 100644
--- a/driver/driver_go12.go
+++ b/driver/driver_go12.go
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build go1.2
 // +build go1.2
 
 package driver
diff --git a/driver/driver_go15.go b/driver/driver_go15.go
index f6cd9ca..73e0e33 100644
--- a/driver/driver_go15.go
+++ b/driver/driver_go15.go
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build go1.5
 // +build go1.5
 
 package driver
diff --git a/driver/driver_linux.go b/driver/driver_linux.go
index b73ad6a..4012aeb 100644
--- a/driver/driver_linux.go
+++ b/driver/driver_linux.go
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build linux
 // +build linux
 
 package driver
diff --git a/driver/driver_stub.go b/driver/driver_stub.go
index 6f68af9..38e17b3 100644
--- a/driver/driver_stub.go
+++ b/driver/driver_stub.go
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build aix || dragonfly || freebsd || netbsd || openbsd || solaris
 // +build aix dragonfly freebsd netbsd openbsd solaris
 
 package driver
diff --git a/driver/driver_unix.go b/driver/driver_unix.go
index 2a35e7b..bc5c2fb 100644
--- a/driver/driver_unix.go
+++ b/driver/driver_unix.go
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris
 // +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
 
 package driver
diff --git a/sweet/benchmarks/internal/driver/mem.go b/sweet/benchmarks/internal/driver/mem.go
index 6063ebe..eee457e 100644
--- a/sweet/benchmarks/internal/driver/mem.go
+++ b/sweet/benchmarks/internal/driver/mem.go
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+//go:build !linux
 // +build !linux
 
 package driver
diff --git a/sweet/benchmarks/internal/pool/pool.go b/sweet/benchmarks/internal/pool/pool.go
index b35e447..d7ce705 100644
--- a/sweet/benchmarks/internal/pool/pool.go
+++ b/sweet/benchmarks/internal/pool/pool.go
@@ -3,16 +3,16 @@
 // license that can be found in the LICENSE file.
 
 /*
-	This package provides a facility to run a heterogeneous pool of workers.
+This package provides a facility to run a heterogeneous pool of workers.
 
-	Each worker is defined by an interface, and the pool execute's each worker's
-	Run method repeatedly concurrently. The worker may exit early by returning
-	the Done error. Each worker's Run method accepts a context.Context which is
-	passed to it through the pool. If this context is cancelled, it may cancel
-	workers and will always cancel the pool.
+Each worker is defined by an interface, and the pool execute's each worker's
+Run method repeatedly concurrently. The worker may exit early by returning
+the Done error. Each worker's Run method accepts a context.Context which is
+passed to it through the pool. If this context is cancelled, it may cancel
+workers and will always cancel the pool.
 
-	Each worker is guaranteed to start immediately when the pool's Run method is
-	called and not any sooner.
+Each worker is guaranteed to start immediately when the pool's Run method is
+called and not any sooner.
 */
 package pool
 
diff --git a/third_party/biogo-examples/krishna/krishna.go b/third_party/biogo-examples/krishna/krishna.go
index 01b5bc9..7c37a63 100644
--- a/third_party/biogo-examples/krishna/krishna.go
+++ b/third_party/biogo-examples/krishna/krishna.go
@@ -57,7 +57,6 @@
 	return &Krishna{params, target, pa}, nil
 }
 
-//
 // Returns a cleanup function, and an error. The cleanup function should be
 // called before program exit, if not nil.
 func (k *Krishna) Run(writer *pals.Writer) error {
