Комментарии 2
Решение красивое до тех пор пока не придет требование в случае ошибки отменять резервирование.
Хочу обратить внимание на то, что автор не пытался выдать промышленный код. Это просто разбор приема на примере, похожем на боевой. Потому что, если написать что-то совсем отстраненное, набегут люди и будут упрекать, что "в вакууме вот твое ФП красивое, а ты реальное применение покажи". И там даже есть такие строчки
Серьезное решение должно бы было вернуть тип Result и детальное описание ошибки, но мы используем Option для простоты.
Я не гуру F# и уж тем более не гуру ФП, я только учусь, но, если вам интересно, могу попробовать доработать код под озвученные требования. Тем более, что вопрос хороший, проверяет решение на прочность.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Грокаем Traversable