обеспечить каждого ветерана к 2016-му году отдельным жильём!
- пообещал на днях Барак Обама.
Option[T], где Т - полугруппа, можно считать моноидом - к полугруппе присоединяется внешний нуль.
def sum(maybeX; Option[T])(maybeY: Option[T]) = maybeX match {
case Some(x) => maybeY match {
case Some(y) => Some(x+y)
case None => Some(x) }
case None => maybeY
}