+/** Appends a string to another, using a separator if both are non-empty. */
+std::string &append(std::string &str, const std::string &sep, const std::string &other);
+
+/** Joins two strings, using a separator if both are non-empty. */
+std::string join(const std::string &str1, const std::string &sep, const std::string &str2);
+