The Scala compiler prefixes every argument in the parameter list by default with val. This means that, by default, case classes are immutable. Each parameter is given an accessor method, but there are no mutator methods. For example:
case class Foo(i: Int)
val fooInstance = Foo(1)
val j = fooIn...