0
Given a typelist, return a typelist of all the permutations of it. For example:
using Types = typelist<char, int, double>;
using Permutations = typelist<
typelist<char, int, double>,
typelist<char, double, int>,
typelist<int, char, double>,
typelist<int, double, char>,
typelist<