Sorry for the waffly title - if I could come up with a concise title, I wouldn\'t have to ask the question.
Suppose I have an immutable list type. It has an operat
This is probably a stretch, but in Ruby there is a commonly used notation for the distinction: add doesn't mutate; add! mutates. If this is an pervasive problem in your project, you could do that too (not necessarily with non-alphabetic characters, but consistently using a notation to indicate mutating/non-mutating methods).