Bit of a stressful day at work today, so I unwound a bit, and then did a small amount of planning for Structured Data. And that planning was very helpful! It got me looking past special cases and such to see how things could cleanly generalize, and to think about how this stuff could actually be used in practice. (An area which the current code sorely lacks.)
I need to give this stuff some names, but overall I think this stuff is a couple days work out, at most. I don't want to work on it right now, and I'm probably not in a good condition to do so, so let's wrap up for now, and I'll get to work on this tomorrow.