The only difference between them is that OptionalBool's third state is "unknown" and LazyBool's is "calculate". We don't need to tell the difference in a single context, so I've made a new eLazyBoolDontKnow which is an alias of eLazyBoolCalculate.