MENOS erro de recursão do mixin para converter pixels em rems

Estou tentando fazer um mixin para propery converter pixels em ems relativos. Eu gostaria que fosse flexível o suficiente para permitir que qualquer propriedade fosse usada com qualquer número de valores de pixels.

Alguma idéia de como adicionar vários valores a uma única propriedade sem o erro de recursão que estou criando dentro do loop for?

exemplo de uso desejado 1:

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

saída desejada:

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

exemplo de uso desejado 2:

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

saída desejada:

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

Aqui está o 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 encontradoaqui

questionAnswers(1)

yourAnswerToTheQuestion