MENOS error de recursión mixin para convertir píxeles a rems

Estoy tratando de hacer una mezcla para convertir píxeles a ems relativos. Me gustaría que fuera lo suficientemente flexible como para permitir que cualquier propiedad se use con cualquier cantidad de valores de píxeles.

¿Alguna idea sobre cómo agregar múltiples valores a una sola propiedad sin el error de recursión que estoy creando dentro del ciclo for?

Ejemplo de uso deseado 1:

.pixels-to-rems(font-size; 10);

salida deseada:

font-size: 10px;
font-size: 1rem;

ejemplo de uso deseado 2:

.pixels-to-rems(padding; 10,0,20,10);

salida deseada:

padding: 10px, 0px, 20px, 10px;
padding: 1rem, 0px, 2rem, 1rem;

Aquí está el mixin como está.

@baseFontSize: 10px;
.pixels-to-rems(@property, @pxvals) {
    @pxValue: null;
    @remValue: null;

    .for(@pxvals); .-each(@pxval) {
        @pxValue: @pxValue @pxval;
        @remValue: @remValue (@pxval / @baseFontSize);
    }

    @{property}: ~"@{pxValue}px";
    @{property}: ~"@{remValue}rem";
}

.for () mixin encontradoaquí

Respuestas a la pregunta(1)

Su respuesta a la pregunta