Existe um nome para esse idioma de criação de tupla?

NoAumentar lista de discussão, o seguinte truque inteligente para criar uma entidade semelhante a tupla foi postado recentemente por @LouisDionne:

#include <iostream>

auto list = [](auto ...xs) { 
    return [=](auto access) { return access(xs...); }; 
}; 

auto length = [](auto xs) { 
    return xs([](auto ...z) { return sizeof...(z); }); 
};

int main()
{
    std::cout << length(list(1, '2', "3")); // 3    
}

Exemplo ao vivo.

A esperteza é quelist é um lambda que recebe uma lista de parâmetros variados como entrada e retorna um lambda como uma saída que levará outro lambda para atuar em sua entrada. Similarmente,length é uma lambda que assume uma entidade do tipo lista, à qual fornecerá a variávelsizeof... operador aos parâmetros de entrada originais da lista. osizeof... O operador é envolto em um lambda para que possa ser passado para olist.

Pergunta, questão: existe um nome para esse idioma de criação de tupla? Talvez a partir de uma linguagem de programação funcional em que funções de ordem superior sejam mais usadas.

questionAnswers(3)

yourAnswerToTheQuestion