This isn't really in a testable or reviewable state yet.
Todo:
* Finish anonymous attribute set implementation.
* Avoid detecting link cycles that are ok.
* Code cleanup and docs.
------
I'm preparing some notes about the why and how here: https://hackmd.io/@II9-Bkl4TJifCqGL2jgbUw/SkgBFfQKj