inline bool operator!=(Terminal const& a, Terminal const& b) { return std::strncmp(a.first, b.first, std::min(a.size(), b.size())); }
// Returns true if the identifier has the same sequence of // characters as `str`. inline bool operator==(Terminal const& t, char const* str) { return !std::strncmp(t.first, str, t.size()); }
inline bool operator!=(char const* str, Terminal const& t) { return std::strncmp(t.first, str, t.size()); }