"When I was compiling the list of significant packages using attoparsec, I made a guess that the Unix rev would reverse the order of lines in a file. What it does instead seems much less useful: it reverses the bytes on each line."
Unfortunately, tac isn't cross-platform. On systems with GNU userland, you can indeed use 'tac', but that isn't available on BSDish systems (including FreeBSD and Mac OS X), where 'tail -r' is what you want instead. And likewise, 'tail -r' doesn't work on systems with a GNU userland, because the tail in GNU coreutils doesn't implement -r (according to the maintainers, because reversing the order of lines in a file is completely out of scope for what 'tail' is supposed to do). I don't believe anything in POSIX will do this cross-platform in a straightforward way, because neither 'tac' nor the '-r' option of tail are in POSIX. That leaves you with the options: platform-testing if/thens, or rolling your own in an awk/etc. one-liner.
I can not say enough about util-linux/coreutils. If you are a linux user you really should take an hour or so to go through the man pages of any of the programs that you are not aware of. The only tool I have never been able to use is ptx. (ptx is permutated indexes: legacy doc index creation[1])
`rev` is an great tool for processing text files from the command line. It is especially useful when you need a quick and easy way to grab the last column of a delimited file when the lines do no have the same number of columns: