content: {- $setup
  
  >>> :m
  >>> import Control.Concurrent (threadDelay)
  >>> import Control.Monad (void, when)
  >>> import Control.Monad.IO.Class (MonadIO (liftIO))
  >>> import Control.Monad.Trans.Class (lift)
  >>> import Control.Monad.Trans.Identity (runIdentityT)
  >>> import Data.Char (isSpace)
  >>> import Data.Either (fromLeft, fromRight, isLeft, isRight, either)
  >>> import Data.Maybe (fromJust, isJust)
  >>> import Data.Function (fix, (&))
  >>> import Data.Functor.Identity (runIdentity)
  >>> import Data.IORef
  >>> import Data.Semigroup (cycle1)
  >>> import Data.Word (Word8, Word16)
  >>> import GHC.Exts (Ptr (Ptr))
  >>> import System.IO (stdout, hClose, hSetBuffering, openFile, BufferMode(LineBuffering), IOMode(..))
  
  >>> hSetBuffering stdout LineBuffering
  >>> effect n = print n >> return n
  
  >>> import Streamly.Data.Stream (Stream)
  >>> import qualified Streamly.Data.Array as Array
  >>> import qualified Streamly.Data.Fold as Fold
  >>> import qualified Streamly.Data.Scanl as Scanl
  >>> import qualified Streamly.Data.Stream as Stream
  >>> import qualified Streamly.Data.StreamK as StreamK
  >>> import qualified Streamly.Data.Unfold as Unfold
  >>> import qualified Streamly.Data.Parser as Parser
  >>> import qualified Streamly.FileSystem.DirIO as Dir
  
  For APIs that have not been released yet.
  
  >>> import qualified Streamly.Internal.Control.Exception as Exception
  >>> import qualified Streamly.Internal.FileSystem.Path as Path
  >>> import qualified Streamly.Internal.Data.Scanr as Scanr
  >>> import qualified Streamly.Internal.Data.Scanl as Scanl
  >>> import qualified Streamly.Internal.Data.Fold as Fold
  >>> import qualified Streamly.Internal.Data.Parser as Parser
  >>> import qualified Streamly.Internal.Data.Stream as Stream
  >>> import qualified Streamly.Internal.Data.StreamK as StreamK
  >>> import qualified Streamly.Internal.Data.Unfold as Unfold
  >>> import qualified Streamly.Internal.FileSystem.DirIO as Dir
  -}
  