Streams: Difficult Solutions

(define (helper str lst)
    (cond ((null? lst) #t)
    ((not (= (car lst) (car str))) #f)
    (else (helper (cdr-stream str) (cdr lst))))
)

(define (contains str lst)
    (cond ((null? str) #f)
    ((and (= (car str) (car lst)) (helper str lst)) #t)
    (else (contains (cdr-stream str) lst)))
)