We use creation operators to create the streams themselves, because let's face it: what we need to turn into a stream isn't always going to be a stream, but by making it into a stream, it will have to play nicely with other streams and, best of all, will get to leverage the full power of using operators.
So, what do these other non-streams consist of? Well, it could be anything asynchronous or synchronous. The important thing is that it is data that needs to be emitted at some point. Therefore, a range of creation operators exist. In the coming subsections, we will present a subset of all those that exist, enough for you to realize the power of turning anything into a stream.