Agree. That looks like a very sensible use case and something not possible without support for mutable functions.
More generally, I think the argument was that the behavior of a non-immutable CHECK would at least be easy to understand, assuming you know that the check will only be applied at row insertion or update.
But they are also prone to unexpected behaviour, no ? For example, a slight variation of the above example is:
This constraint would most likely fail if someone was to restore the table from a dump.
Given that we haven't seen any complaints may mean I am imagining a problem that does not exist in practice, though I thought the example looks quite sensible too.