in squangle/mysql_client/Query.h [559:570]
void Query::unpack(Arg&& arg, Args&&... args /* lol */) {
using V = folly::remove_cvref_t<Arg>;
if constexpr (
std::is_same_v<V, folly::dynamic> ||
std::is_same_v<V, decltype(folly::dynamic::object())>) {
// Have to forward<Arg> because dynamic(ObjectMaker const&) is deleted.
params_.emplace_back(QueryArgument::fromDynamic(std::forward<Arg>(arg)));
} else {
params_.emplace_back(std::forward<Arg>(arg));
}
unpack(std::forward<Args>(args)...);
}