Я хотел бы использовать QuickCheck для проверки функции, чтобы убедиться, что она завершается (без бесконечной рекурсии, исключений и т. д.). Вот что я делаю в данный момент:
f :: Int -> Int -> Int
prop_fTerminates :: Int -> Int -> Bool -- say
prop_fTerminates x y = f x y `seq` True
Есть ли лучший (более выразительный и идиоматический) способ?