В Тестирование Monadic Code с QuickCheck (Claessen, Hughes 2002), assert имеет тип:
assert :: (Monad m, Testable a) => a -> PropertyM m ()
Однако в Test.QuickCheck.Monadic он имеет тип:
assert :: (Monad m) => Bool -> PropertyM m ()
Почему assert имеет последний тип в библиотеке?