Subject: bug#40671: [DOC] modify literal objects

From: Drew Adams <[email-masked]>
Date: Fri, 24 Apr 2020 10:18:33 -0700 (PDT)

> > It seems strange to use the terms "constant" and "mutable" to
> > describe whether modifying its contents is something you had
> > better avoid.  I think people will find that terminology
> > confusing.  Normally "mutable" means that you CAN change it,
> > not that it is OK to change it.
> 
> What is the difference between CANNOT and
> SHOULD NOT, operationally? To the user, nothing; there is no gain from
> disobeying our advice.

No.  To the user: something.  And the negative
effects might not be immediately noticeable.

If we say that you can't modify XYZ there's no
need for you to pay attention, learn about the
gotcha, and try to avoid modifying XYZ.

The burden here is on the user (unfortunately).
Emacs Lisp doesn't protect you from doing what
you'd be told you "cannot" do.  It's up to you
to know when you might be stumbling onto this
pitfall and avoid it.

Telling users they _can't_ fall into this pit
is like telling someone it's impossible for their
car to go through a red light.  Nope, they're the
driver, and the message should be, "Don't drive
through a red light."