If I'm sending an event property to indicate that a user "is_registered", then when it's true I'm indicating that I know that she is registered. When it's false I'm indicating that I know that she is not. But if the property is not sent at all with the event, or sent with null, then it means I don't know the registration status. Which is different than knowing that it's false. With other types I can check "is not set", but with boolean I can't, which is very weird and confusing.