Earlier, manifestmerge() and calculateupdates() returns a tuple of three things.
I wanted to add one more thing to return value.
Introducing a special class which represents results of a merge will help
understand better and also ease adding new return values.
I'm generally not a fan of having trivial @property wrappers for internal attributes like this, as I don't think it adds any value. Especially since there is code mutating the internal state, which is a bit janky.
But I'll approve this anyway. If the code remains unchanged after the completion of the series, my vote is to remove the @property wrappers and access attributes directly.