bytestring - это упрощённо набор байт. есть же ещё lazy bytestring. и я так написал, потому что не знаю, как они работают.
я подумал, что с помощью lazy bytestring можно абстрагироваться от файловой системы (хотя зачем? может, при передаче данных по сети можно более эффективно обрабатывать эти данные, однако ведь данные всё равно будут передаваться последовательно (т.е. не получится сделать fseek)) проблема в том, что файл может быть большим, но его не надо весь грузить в память, а только по мере надобности
(честно, у меня плохое представление по этом всем вещам, поэтому могу писать какую-то фигню)