Scaling back some of the future-proofing I attempted, because I don't seem to need it, and it's going to make the stuff that people are asking for harder. So, it goes:
- Remove complicated logic we don't want.
- Update tests that that broke.
- Move simplified utility function to the proper place.
- Note the future-proofing that I undid, and the probable work required when the future comes.
- Wire the utility function into the existing code to avoid duplicate logic drifting.
That'll be a bit of effort, but I should be able to get through that part tonight. Of course, the tests do take a while, and I'm not ready to switch gears to something else while it goes.
Earlier today, I was planning out some of the stuff I want to work on after this is done. My initial ideas seem kind of out-there, but I'm willing to do whatever to make this work.
All right, it's taken some time, but that part is all together. Now, I'll wind down for the night, because it would be a bad idea to commit to anything for the next fifteen minutes.
Things to work on later: update my fork again, rebase my branches, update documentation, write news. Things are looking good for this.