Виртуальные потоки это когда работает одно ядро, но быстро-быстро переключается между двумя (тремя, четыремя, N) задачами. Физические это когда вычисления идут на разных ядрах.
Я видел код людей, которые на всё Either WhatEverError возвращают. Мне там на полном серьёзе предложили m (Either DBError (Either ParseError r)) вернуть
Через открытые объединения выглядело бы интереснее, чем вложенные Either
Виртуальные потоки это когда работает одно ядро, но быстро-быстро переключается между двумя (тремя, четыремя, N) задачами. Физические это когда вычисления идут на разных ядрах.
Интересная терминология, но смысл понял. Тогда, наверное, твой вопрос про число физических потоков сводится к вопросу о числе ядер?