I think we are missing a crucial advantage of the boolean data type.
If we use a character, we're allowing invalid value such as 'K' or '@'. The domain of the type does not match the semantical domain of the attribute.
A boolean doesn't have this problem, but considering the aforementioned...