> (Moreover, one of the advantages of laziness is precisely that one can
write a function like take that works on both streams and lists).

surely that’s not the only way to get such polymorphism in our programming systems? the “precisely” word there makes it sound to me like people think it is better than any alternative specifically for this use case?