Is a strict head `Stream (Lazy a)` the same as a lazy head `Stream a`? I like the explicitness of the first one, but maybe it's different?

Okay, so sounds like `make` or `stream` are the better names here, but I don't fully understand the argument against `cons`. It seems intuitive to someone without a formal introduction to codata (like me). Couldn't the definition be `data Stream a = Cons a (Stream a)` in a lazy language? I don't think I know enough about codata to really get this.