伝統的にPascalの流れを汲む言語は完全評価だが、Object Pascalは
例外的に短絡評価をベースとする。完全評価には{$B+}指令が必要。

C#は両方の評価方式を取り入れてしまったためにスカラ型を暗黙のうちに
ブール型に変換する事ができなくなってしまった。

そのためCやC++のように

if (a) .... のような構文は a が bool型の時しか使えなくなった。