Don’t prefix cyclic instances of -description.

Fixes S -> S nonsense.
isCyclic is a fixpoint.
Simplify compaction.
Test compaction of cyclic alternation.
Compact cyclic alternations w.r.t self.
Compact shallow cyclic concatenation w.r.t. self.
Spacing.
Don’t set the name when it’s already set.
Derivative and compaction need to be delayed.

At least for cyclical grammars. This obviates the need to handle “tying
the knot” manually (as the paper puts it).
So don’t tie the knot manually.
Also, isEqual: won’t really work here.
Correct delay description.