exercises from scala for the impatient