operator bool をオーバーロードするだけじゃダメなのか?