`numeric_limits` already has an `is_signed` member. We can use that instead of using `std::is_signed`.
<cxxx>
std::isnan()
std::isinf()