declare MyKey = foo MyChunk % T is defined to avoid static analysis warnings below fun {T X} X > 3 end if {T 5} then MyChunk = {Chunk.new w(MyKey: 7)} else MyChunk = w(MyKey:7) end {Browse MyChunk} thread %% When T is not called above, %% the following gives a warning that the case will never match... {Browse startingFirst} local MK in case MyChunk of w(MK: X) then {Browse inFirstThen} {Browse first(MK X)} else {Browse nomatch} end end end thread {Browse startingSecond} %% When T is not called above, the following gives an error local MK X in w(MK: X) = MyChunk {Browse second(MK X)} end end