Oh, I missed the line with the `check` keyword and misinterpreted the comment I replied to. Yes, it is indeed very strange.
This example is from an earlier version of the language that was experimenting with aggressive flow sensitive typing. Interestingly, I came to the conclusion that, while sometimes magically nice, it was also often confusing. So, in the version that is (slowly) getting built as the first _release_ version has a simpler and more explicit algorithm.