(define-syntax ext-let (syntax-rules () ((_ ()() body ...) (ext-let-helper ()()() body ...)) ((_ (var1 var2 ...)(val1 val2 ...) body ...) (ext-let-helper ((var1 val1))(var2 ...)(val2 ...) body ...)))) (define-syntax ext-let-helper (syntax-rules () ((_ ((var1 val1) ...)(var2 var3 ...)(val2 val3 ...) body ...) (ext-let-helper ((var2 val2)(var1 val1) ... )(var3 ...)(val3 ...) body ...)) ((ext-let-helper ((var val) ...)()() body ...) (let ((var val) ...) body ...))))