相互排他ロックが変数を保護しているとアサートした場合、相互排他ロックを保持せずにその変数がアクセスされた時点で必ずエラーとなります。読み取り書き込みロックが変数を保護しているとアサートした場合、読み取りアクセスに対するロックを保持せずにその変数を読み取ろうした時点、あるいは書き込みアクセスに対するロックを保持せずにその変数に書き込もうとした時点で必ずエラーとなります。どちらのロックが変数を保護しているかに関するその後のアサーションは、それ以前のアサーションを上書きします。つまり、解析中は、変数保護について、最後にアサートされたロックのみが常に使用されるということです。