constexpr Int operator^(Int rhs) const { return (is_na() || rhs.is_na()) ? na() : Int(raw_ ^ rhs.raw_); }
constexpr Int operator<<(Int rhs) const { return (is_na() || rhs.is_na() || (static_cast<uint64_t>(rhs.raw_) >= 64)) ? na() : Int(raw_ << rhs.raw_); }