Rewrote simulations as specs, with minor changes to reflect new program structure, e.g. rather than sending report=true to a Diagram, we can use its subclass, DebugDiagram, which has all debug code defined, so as to keep such debugging code apart from actual domain code in class Diagram.