DS
Программа с IO - на хаскеле, это считай работа с чистым eDSL, которым IO и является. Ты можешь спокойно куда и как угодно передавать IO, т.к. это чистые значения, которые по сути являются описаниями того, что нужно будет программе сделать в момент исполнения.