integral_constant
This crate provides type-level representations of constant values. The name
integral_constant is a reference to std::integral_constant in C++,
which serves a similar purpose. Unlike std::integral_constant, this
crate provides separate wrapper types depending on the type of the constant
value, since the type of const generics in Rust cannot depend on type
parameters.