Recall that mergesort uses a divide and conquer strategy.
Suppose we divide the list using one-part and the-other-part, and we merge them with merge:
(define mergesort (lambda (lst) (cond ((null? lst) '()) ; first base case ((null? (cdr lst)) lst) ; second base case (else (merge (mergesort (one-part lst)) (mergesort (the-other-part lst)))))))