After doing lookup about the implementation of things like make_index_sequence it seems like ideally the compiler should implement it via some intrinsic. Manual implementation runs the risk of creating a huge amount of instantiations which makes compilation take longer. There are logarithmic implementations which can cut down on this.