For #8 add stub cdrules.py.
For #8 provide Index.arg, Index.mass, Index.order.
For #8 provide c_rule.
For #8 provide d_rule.
For #8 add trace(fn, lines).
For #8 add cd_trace, but results don't agree with tests/issue6.py.
For #8 add c_rule test that should fail.
For #8 fix two c_count errors - both BLUNDERs. Still not agreeing with tests/issue6.py.
For #8 add properties Index.c and Index.d.
For #8 make Index hashable and use as key in cd_trace.
For #8 add index_from_fibword and make explicit what's missing from n=6.  Have identified the bug, can now fix it.
For #8 track down what's going wrong - there's an error in d_rule.
For #8 fix the d_rule BLUNDER (easy) and change wrong tests to agree with good code.
For #8 add detect_collisions, args_from_collisions, and show_collisions(9) - two collisions.