- (apply (lambda* ,args ,@body)
- ((@ (gacela utils) arguments-apply) ,name props))))))
- (mesh-properties-set! m (list ,@(map (lambda (a) `(cons ',a ,a)) (names-arguments args))))
+ (apply (lambda* ,(cons #:key list-args) ,@body)
+ (list
+ ,@(let get-params ((l list-args))
+ (cond ((null? l) '())
+ (else
+ (cons (symbol->keyword (car l))
+ (cons `(assoc-ref props ',(car l))
+ (get-params (cdr l)))))))))))))
+ (mesh-properties-set! m (list ,@(map (lambda (a) `(cons ',a ,a)) list-args)))