title: Scheme function that returns the shortest of the two lists
body: <p>you must return a function that returns the shorter of the two lists. Wrote such function, but there is an error: </p>
  
  <blockquote>
    <p>else: not allowed as an expression in: (else (sh (cdr shA) (cdr shB)))</p>
  </blockquote>
  
  <p>I don't know how to fix it.</p>
  
  <pre><code>(define (shorter a b)
    (let sh ((shA a) (shB b))
      (cond
        (((null? shA) a)
         ((null? shB) b)
         (else (sh (cdr shA) (cdr shB)))))))
  </code></pre>