(define (BetterFrequentWords text k) (define (BetterFrequentWordsItr text k freqMap max frequentPatterns) (cond ((null? (cdr freqMap)) frequentPatterns) ((= (cdr (car freqMap)) max) (BetterFrequentWordsItr text k (cdr freqMap) max (cons (car (car freqMap)) frequentPatterns))) (else (BetterFrequentWordsItr text k (cdr freqMap) max frequentPatterns)))) (reverse (BetterFrequentWordsItr text k (car (FreqAndMax text k)) (cdr (FreqAndMax text k)) '())))