型システムの拡張:型判定
- x:[int]/Oo, y:[int]/O?├ x![5]
- x:[]/I?, y:[]/Oo├ x?[].y![]
- x:[]/(Oo | Ic), y:[]/Oo├ x![] | x?[].y![]
- x:[int]/Oo, y:[int]/O?├ x![5]
⇒ OK:x へ送信する義務は遂行されており、 y へ送信する義務はない
- x:[]/I?, y:[]/Oo├ x?[].y![]
⇒ Error:x から受信する能力がないので、 y へ送信する義務が必ずしも遂行されない
- x:[]/(Oo | Ic), y:[]/Oo├ x![] | x?[].y![]
⇒ OK:x から受信する能力があるので、 y へ送信する義務は必ず遂行される