That built in lag is so incredibly miniscule in the grand scheme of programming that 99.9999% of times it will not matter, and if it does you are using C or Assembly anyways.
Consider a command line IM app using pipes to communicate to the server (just to roll with the readLine example). User 1 has not typed anything, so their file is empty. User 2 has typed a bunch of stuff.
user1line = readLine "user1file.pipe"
user2line = readLine "user2file.pipe"
getFirstAvailableFutureAndProcess [user1line, user2line] processorFunc
What you want this to do is handle whichever user types something first. In reality it will only process user1line.