Boost.Mathのfactorial

<boost/math/special_functions/factorials.hpp>
にあるboost::math::factorialですが、なぜかこんなコードになってるので整数型が使えないようです…

template <class T, class Policy>
inline T factorial(unsigned i, const Policy& pol)
{
    BOOST_STATIC_ASSERT(!boost::is_integral<T>::value);
    ...
}