Hardheaded? Never.
My reason for trying to bulletproof things is selfish. I don’t want to have to explain to countless users why their snippets don’t work. I do see the trade-offs though, especially when it comes to performance and backward compatibility.
So -- points taken, although I still contend that making sure the properties grid UI refuses to store anything but "0" and "1" for booleans is cheap insurance with no practical performance consequences.
Doing the same in setProperties() (at least to the point of putting in something like the following *only for booleans* ) also seems pretty cheap since it will rarely run outside of a build, but maybe there’s something I’m missing on that point.
if(empty($prop) || $prop == 'false') {
$prop = "0";
else {
$prop = "1";
}