@sue Software, its comments, and its external documentation rarely captures the paths not taken, i.e., the design possibilities that were considered but not taken and the reasons for not taking them. Without that, I think it can be very hard to understand why what *is* in the code was a good choice, and what will break if it is changed. We need an apophatic theology of code :-)