methods in one file. Give a separate responsibility its own type.
- When code in one file gets a user in another file for an unrelated
purpose, move it to a file named for its function in the same change.
+- Start each package-level name that belongs to one feature or
+ integration with the name of that feature. Start the names of its
+ files with the same name. Keep a name generic only when more than one
+ feature uses it.
+- Use unexported names. In the `main` package, an exported name has no
+ effect.
+- Write all the letters of an initialism in one case.
- Put entry points first, then each struct's methods as a group, then
standalone utility functions. Do not put a utility function between
the methods of one type.