weaker boolean?
The current boolean type enforces that the value is either 0 or 1. But there are situations where one wants a weaker version of the boolean type that is either 0 or not 0 (but maybe bigger than 0). This can occur when extracting a flag via bit-masking. Both boolean types seem to be useful, so maybe we need RefinedC types for both?
However, one also needs to be careful as the C _Bool
is only allowed to have the values 0 or 1 (one should double check that).