(define (createRow rows columns) (cond [(= rows -1) empty] [else (cons (list-ref (list-ref a rows) columns) (createRow (sub1 rows) columns))])) (define (loop rows columns) (cond [(= columns -1) empty] [else (cons (reverse (createRow rows columns)) (loop rows (sub1 columns)))])) (define (transpose mat) (cond [(empty? mat) empty] [else (reverse (loop (- (length mat) 1) (- (length (first mat)) 1)))]))