If we go re-exports, module and struct names do not matter as much:
```
pub use Adler32 = self::checksum::adler::State32
```
Also, here is a quote from http://www.zlib.net/maxino06_fletcher-adler.pdf:
> Although the Adler checksum is not officially defined for other data word lengths, we used the largest prime integers less than 2^4=16 and less than 2^8=256 to implement 8- and 16-bit Adler checksums for comparison purposes.

It's not a principal question for me, and I don't want to push too hard for that, but since we are probably going to have CRC for different sizes (and, perhaps Fletcher or sum?), I'd prefer the naming to be the same. How do you want to name CRC stuff? I'd go ```checksum::crc::StateXX``` route (the same as used in this PR), and I don't object re-exports of that to ```CrcXX```.

Is that convincing enough?