On Mon, May 22, 2017 at 4:59 AM, Alex Shinn <xxxxxx@gmail.com> wrote:
The only cause for confusion seems to be with the use of ! for naming, and the fact that many conventional languages perform similar operations as in-place mutations.
I think that blurring the line between "must mutate" and "may mutate" was actually a !!! move by Olin in the game of standards chess. By looking at the return type, unspecified vs. specified, we always know which kind of procedure we are dealing with, and the ! just gives a general warning: "beware the mutant lurking in the underbrush".
So I'm for keeping linear-update exactly as is, ! and all.