Dave Lemke and Nathan Meyers gave me many helpful explanations.

The following people provided bug reports and/or bugfixes: 
Huw D. M. Davies, Gordone Deane, Ralf Deininger, Michael Hoegeman,
Pavel Kankovsky, Stephen Montgomery-Smith, Chris Webb, Keith White,
Robert Wilhelm, David Wragg.
