July 21, 2020
So I'm using the new -vtemplates flag to find out where goes all this memory and time :) It's great.

The templates from stdlib I most encounter are:
(I've listed only those above 20 unique instantiations)

---------------------->8---------------------------


Number   Unique   Name
      28       23   isAbstractClass(T...) if (T.length == 1)
     128       17   isImplicitlyConvertible(From, To)
      71       29   isPointer(T)
      24       23   BooleanTypeOf(T)
     277      249   maxAlignment(U...) if (isTypeTuple!U)
     192      180   isSame(ab...) if (ab.length == 2)
      28       28   emplace(T, Args...)(T chunk, auto ref Args args) if (is(T == class))
     615       69   isAggregateType(T)
      48       48   genericIndexOf(args...) if (args.length >= 1)
     233       39   isInputRange(R)
     212       77   isCallable(T...) if (T.length == 1)
      21       21   isRvalueAssignable(Lhs, Rhs = Lhs)
      23       23   StaticArrayTypeOf(T)

      .... a lot of other less commonly instantiated template...

---------------------->8---------------------------

Of those, I think the most problematic are those with a very high unique instantiation number.

For example: maxAlignment makes up _30%_ of the unique instantiations in this production program.

My question is: is there a plan to optimize this large number of maxAlignment  instantiations?