Глянул его TypeList. Слабовато. Уже не Loki, но ещё не С++17. // В библиотеке
template<typename...>
class Length {};
template<typename... Types>
class Length<TypeList<Types...>>
{
public:
static const unsigned value = sizeof...(Types);
};
// Как на С++17 пишут
template<typename... Ts>
constexpr auto size(TypeList<Ts...>) { return sizeof...(Ts); }
И так по всему коду.