Mlbileschi update partial function documentation

To include the fact that the caller is responsible for checking 'isDefinedAt', except when using partial functions defined using {} and case statements.
I'll offer a revision when I get a chance, because I think the exposition could be clearer.

But no, I didn't get what you were saying.  Now I understand you to mean, "even if isDefinedAt(x) the apply(x) can throw; and even if !isDefinedAt(x), the apply(x) can result in an arbitrary value instead of throwing."

What does it mean if !isDefinedAt?  For example, is it acceptable to loop forever if invoked with input for which the pf is not defined?