Is it possible to implement template maxSizeOf(T...) { static if (T.length == 1) enum size_t maxSizeOf = T[0].sizeof; else { enum size_t firstSize = T[0].sizeof; enum size_t maxSizeRest = maxSizeOf!(T[1 .. $]); enum size_t maxSizeOf = firstSize >= maxSizeRest ? firstSize : maxSizeRest; } } in a non-recursive way?