title: merging and extracting lists
body: <p>I'm writing a function that merges two lists. If one of the list's item is a list, I need to extract it too.</p>
  
  <pre><code>list1:'(1 (2 3 4) 5 6)) 
  
  list2: '(7 (8 9) 10 (11))
  
  output: (1 2 3 4 5 6 7 8 9 10 11)
  </code></pre>
  
  <p>I tried to solve it by my code doesn't work.  What is the problem?</p>
  
  <pre><code>(define (merge lis1 lis2)
      (define (combine lis fine)
          (cond
              ((null? lis) lis)
              ((list? lis) (combine (car lis) fine) (combine (cdr lis) fine))
              (else  (cons lis fine))))
  
          (cond
              (combine (cons lis2 lis1) '())))
  </code></pre>