Недавно я начал использовать STM для некоторых частей своего проекта, но мне трудно понять, как его протестировать.
У меня нет IO в этих функциях, и я надеялся, что смогу написать свойства QuickCheck для проверки вещей, но «атомарно» (STM a -> IO a), кажется, единственный способ получить что-либо из монады STM.
Возможно ли это, или я должен вместо этого просто писать свои тесты в HUnit?