Yeah, it's totally legal to end up in the null case.
The question though is if we should change the signature to be a Function and then check if it's partial and then applyOrElse and just straight apply if it isn't. (this would also be a non-issue with the function/partialfunction proposal I was talking about during flatmap.no)

Hoisting the literal is a good idea, what is the best way of doing it from a BC perspective?