This directory contains Go packages that aren't specific to the Wuffs language.
These packages may be useful to other Go software, outside of this repository,
that have nothing to do with Wuffs per se.

Other (Wuffs-specific) packages are in the sibling `../lang` directory.
