lazy potentially infinite streamable sets in Haskell