I've found a fundamental difference in the use of
where G is a Graph in the GraphTheory package.
If I change G2 in the first case, G remains the same.
If I change G2 in the second case, G changes together with G2.
(The same happens when G is an input parameter in a procedure. Normally formal parameters cannot be changed, but if G is a graph there is no error message when changing G).
This is totally different from happens with normal assignments of variables, like
Could someone explain why and how these assignments are different?