```
SET compile_expressions = 1
SELECT GREATEST(2,0)
```

static inline constexpr bool isSaturatedValue(bool a) { return !a; }
    
    static inline constexpr bool isSaturatedValueTernary(UInt8 a) { return a == Ternary::False; }
    static inline constexpr ResultType apply(UInt8 a, UInt8 b) { return a & b; }
    
    static inline constexpr bool specialImplementationForNulls() { return true; }
};
struct OrImpl
{
    using ResultType = UInt8;
    static inline constexpr bool isSaturable() { return true; }
    static inline constexpr bool isSaturatedValue(bool a) { return a; }
    static inline constexpr bool isSaturatedValueTernary(UInt8 a) { return a == Ternary::True; }
    static inline constexpr ResultType apply(UInt8 a, UInt8 b) { return a | b; }
    static inline constexpr bool specialImplementationForNulls() { return true; }
};
struct XorImpl
{
    using ResultType = UInt8;
    static inline constexpr bool isSaturable() { return false; }