Often you want to have multiple generators:

```haskell
arbTuple = do
  a <- elements [1,2,3] # selects one of the values
  b <- elements [1,2,3]
  return (a, b)
```

Stuff like that might be harder with streams. Though it might work as flat_map works with streams as well. Not sure to be honest.