static_assert is better than std::ignore