Backpedalling: make RecipeGraph immutable again (#5627)
Backpedalling: make RecipeGraph immutable again (#5627)

I have relearned the lesson that mutable data structures lead to very unfriendly APIs.

I've made RecipeGraph an immutable data class, and RecipeGraph.Node.Particle is immutable again too. I decided not to just revert PR #5617 because I still want the separate checks and claims lists -- I just don't want them to be mutable.
PolymerLabs/arcs,PolymerLabs/arcs,PolymerLabs/arcs,PolymerLabs/arcs,PolymerLabs/arcs,PolymerLabs/arcs,PolymerLabs/arcs,PolymerLabs/arcs