This is needlessly complicated. These cases would make it much simpler.
~~~{.clojure}
(cond (empty? a-seq) b-seq
      (empty? b-seq) a-seq
      (< (first a-seq) (first b-seq)) ...
      :else ...)
~~~