mode
Mutable: setters edit the shared box in place.
aliasA→ #1
aliasB→ #1
aliasA.setAmount(0)
Mutate the shared box in place. Both references point at it, so aliasB changes too.
aliasA.equals(aliasB)
Value objects compare by value. Two separate Money(100,"USD") are equal.
aliasA.equals(aliasB) press equals()
console
Same action, two outcomes. In Mutable mode one setter corrupts both references; in Immutable mode plus() builds a new box and only aliasA moves.