diff --git a/racket/src/ChezScheme/s/cptypes.ss b/racket/src/ChezScheme/s/cptypes.ss index e01f1429d3..19e646d5b3 100644 --- a/racket/src/ChezScheme/s/cptypes.ss +++ b/racket/src/ChezScheme/s/cptypes.ss @@ -1284,12 +1284,13 @@ Notes: (define (fold-primref/next preinfo pr e* ctxt oldtypes plxc) (let-values ([(t e* r* t* t-t* f-t*) (map-Expr/delayed e* oldtypes plxc)]) - (let ([ret (primref->result-predicate pr (length e*))]) + (let* ([len (length e*)] + [ret (primref->result-predicate pr len)]) (let-values ([(ret t) (let loop ([e* e*] [r* r*] [n 0] [ret ret] [t t]) (if (null? e*) (values ret t) - (let ([pred (primref->argument-predicate pr n (length e*) #t)]) + (let ([pred (primref->argument-predicate pr n len #t)]) (loop (cdr e*) (cdr r*) (fx+ n 1)