Something like that (completely untested):
let rec add fs gs =
let value =
lazy Seq.(
match fs (), gs () with
| Cons (f, fs'), Cons (g, gs') -> Cons (f + g, add fs' gs')
| (Cons _ as fs), Nil -> fs
| Nil, (Cons _ as gs) -> gs
| Nil, Nil -> Nil) in
fun () -> Lazy.force value