Cree una lista de selectores con MENOS

Problema general

Tengo consultas de medios, donde cambio ciertos elementos de texto de esta manera:

body.single .entry-content p,
body.single .entry-content ul,
body.single .entry-content ol,
body.single .entry-content table {
    line-height: 1.8;
}

¿Cómo puedo usar LESS para construir solo la lista de selectores, no los valores CSS correspondientes?

Mi intento

No estoy buscandoesta respuesta oesta respuesta, que incluyen el CSS en la función. En cambio, me imagino que se usa así:

/* .selector-list() { ... } */

@text-elements: p, ul, ol, table;

.selector-list("body.single .entry-content", @text-elements);
@selector-list {
    line-height: 1.8;
}

Básicamente, generaría una lista en cadena al anteponer el padre ("body.category") y agregar una coma a cada elemento de un conjunto. Esto es lo que he intentado solo para probar la salida:

@text-elements: p, ul, ol, table;

.selector-list(@parent, @children, @i:1, @list:"") when (@i <= length(@children)) {
    @child: extract(@children, @i);
    @selector-list: "@{list} @{parent} @{child},";
    .selector-list(@parent, @children, (@i + 1), @selector-list);
}

.selector-list("body.single .entry-content", @text-elements);

section {
    content: @selector-list; // yields only " body.single .entry-content p,"
}

¿Por qué @ selector-list no supera el primer elemento? No entiendo completamente cuándo se imprime / devuelve algo, así que ¿tal vez estoy haciendo esto de la manera incorrecta?

Respuestas a la pregunta(2)

Su respuesta a la pregunta