I suspect that this has something to do with the fact that booleans end up as strings in the underlying representation, right? I'm not happy about it, but I understand why it's probably necessary.