Rewrote the main Exercises library. Doesn't work well enough yet.