bool operator!=(const value& value1, const value& value2) { return &value1 != &value2 && !value1.is_equal(value2); }
bool operator==(const value& value1, const value& value2) { return &value1 == &value2 || value1.is_equal(value2); }