Source code from Drew Neil's introduction to vspec.