The input of IO can now be an infinite stream