Answer Since the arguments to pairs are both of type IO String, we know that in this case the type of pairs instantiates to

pairs ::
   IO String -> 
      IO String -> 
         IO (String,String)

Knowing that the IO monad, not the List monad, is involved will tell us that lst1 and lst2 have single interior objects. No looping effect will be apparent.

So, if the input lines were “line 1” and “line 2” we would expect to get

("line 1","line 2")