First reason is that the original `Stream` is not sealeded.

http://www.scala-lang.org/api/current/scala/collection/immutable/Stream.html

And second reason is that I was concerned the compiler issues an exhaustive warning because of lack of `Cons`.

```
cons(1, Spool.empty) match {
  case Empty =>
  case i *:: tail =>
}
```

But in fact, **I 'm wrong**. I just tried it now and got no warnings. The exhaustive warning is issued when I write `case Cons(i, tail) =>` only in the match.

Which do you think is better?