Stream appending and stream merging

We have seen a number of useful stream funtions, as counterparts to well-known list functions.

First, consider if/how to program a `stream-append` function, as a counterpart to `append`.
Here is a possible recursive `append` function for lists:

(define (my-append lst1 lst2) (cond ((null? lst1) lst2) (else (cons (car lst1) (my-append (cdr lst1) lst2)))))

How will your `stream-append` function work on infinite streams, such as `nat-nums` or `fibs?`

Now program a similar function, `stream-merge`, that merges two streams by simple alternation.

How will `stream-merge` function work on initinite streams? And on finite streams?

Can you use `stream-merge` to produce as stream of all integers (in some arbitrary order),
based on two other streams with fixed starting points?