しかし、std::forwardって使う意味あるのかね。
std::forward<X>(arg) って書く替わりに、
(X &&)arg って書いても問題ないよね。