Which of these exceptions do we make use of, other than the copies rather than pointers to value?  Perhaps it makes sense to just have the copies instead of the behaviour changes?  I dunno :)