Earlier quoted context omitted.
But without a pattern matching system, optional is still half of what it is in, say, Scala.
Why would you ever pattern match on Option[T] in Scala? In all my code, I do either: optionalF.map( _.whatever ).getOrElse(fallback) or perhaps (optionalF optionalFallback).getOrElse(finalFallback) For those unfamiliar with , see here: http://www.chrisstucchio.com/blog/2014/handle_failure_with_p...
optional match {
case Some(x) => whatever(x)
case None => fallback
}
Second, I find the pattern matching code much clearer. Sure, it's also longer, but clarity trumps everything.