https://sd.blackball.lv/ru/library/Scala_for_the_Impatient_2nd_Edition_(2017).pdf