Is "To say" evaluted before is begun? No, it isn't. That would be quite wrong.
Pattern matching in a let is lazy; if any of the variables bound by the "To say" is evaluated, then the whole is matched. In this example, if is not or is that it is evaluated, the whole is matched, which in turn forces evaluation of "To say".
Am I clear now?
Is "To say" evaluted before is begun? No, it isn't. That would be quite wrong.
Pattern matching in a let is lazy; if any of the variables bound by the "To say" is evaluated, then the whole is matched. In this example, if is not or is that it is evaluated, the whole is matched, which in turn forces evaluation of "To say".
Am I clear now?