Haskell STM check function returning undefined

Есть ли веская причина, почему функция check в библиотеке Contol.Concurent.STM имеет тип Bool -> STM a и возвращает undefined при успехе, а не имеет тип Bool -> STM ()? В таком виде проверка типов будет политкорректно компилировать блок do, заканчивающийся check foo, а во время выполнения выдаст ошибку *** Exception: Prelude.undefined.

9
задан acfoltzer 2 December 2011 в 15:17
поделиться