I have some authentication code, and today I had what I thought was the bright idea of breaking behaviors into traits. But I have a couple places in my code where I create a User as a var, then call convenience methods on the case class which basically do a copy().