Concurrency Correctness In Scala By Marvin Hansen