Bがバカっぽいと感じるのは
真偽値 == 真偽値 だと勘違いしているから

実際には2つのNullableTypeの等値比較