But can Rust do this?
template<typename... Args>
void
print(Args&&... args) noexcept
{
(print_(static_cast<Args&&>(args)), ...);
}