I recall there being some controversy over the use of
getOrElse at the last meeting, something about whether or not you could throw an exception during its invocation. I don't remember the outcome of the (short) conversation, but I ran across this blog post and figured someone might get a brain wrinkle from it:
http://whileonefork.blogspot.com/2011/05/magic-of-getorelse.html. Since
getOrElse accepts an expression, you can do anything you need when it gets executed on
None.
-Scott