Чтобы список породить, его надо где-то вычислить. Если в IO дали мало памяти и упало - то всё логично. А если в IO дали мало памяти, а упало в монаде BD, то уже нелогично. Вот если у нас runBD :: BD a -> IO a, тогда наверное логично. Но я вообще идею поста не очень понял. Т.е. саму идею понял, но детали очень важны, а их нет.
no subject
Вот если у нас runBD :: BD a -> IO a, тогда наверное логично.
Но я вообще идею поста не очень понял. Т.е. саму идею понял, но детали очень важны, а их нет.