Tail Recursion: Difficult

code writing

Write in a tail recursive function that takes in a list and sorts it quickly. You may use the append function, which takes in two lists and puts them together. Hint: Write some helper functions to help you break down lst into three lists: values less than the car of lst, values equal to the car, and values greater than the car.
> (define lst '(3 7 2 6 7 8 7))
> (quicksort-tail-recursive lst)
(2 3 6 7 7 7 8)
(define (quicksort-tail-recursive lst)