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.