If T is a type_list, get_as_list<T>::type is T.
If T is not a type_list, get_as_list<T>::type is type_list<T>.