add Generate code
fix bug: modify 'TYPELIST_2<T1, T2>' to 'TYPELIST_2(T1, T2)'