(define (dispatch m)
(cond ((eq? m 'front-insert!) front-insert-queue!)
((eq? m 'rear-insert!) rear-insert-queue!)
((eq? m 'front-delete!) (front-delete-queue!))
((eq? m 'rear-delete!) (rear-delete-queue!))
((eq? m 'front) (front-queue))
((eq? m 'rear) (rear-queue))
((eq? m 'empty?) (empty?-queue))
((eq? m 'print) (print-queue))
(else
(error "Undefined operation -- DISPATCH" m))))
dispatch))