@jelle That looks pretty cool. Definitely seems to sit in the role I was looking for. I read through the whole README, but I didn't quite digest everything, so I'll have to take it slower next time.
I find it interesting that Neut converged to the same thing that Mercury did for avoiding copies; that is, the &-syntax (in Mercury, it uses a !) as sugar for replacing the old value. The reasons that Mercury does it are slightly different, but the similarity is striking.