Assignments in Functional programming in Scala by Martin Odersky.