speculate-0.4.1: test/model/monad-s4.out
max expr size = 4
|- on ineqs = 3
|- on conds = 3
max #-tests = 500
min #-tests = 25 (to consider p ==> q true)
max #-vars = 2 (for inequational and conditional laws)
_ :: Int
_ :: [Int]
_ :: Int -> [Int]
return :: Int -> [Int]
(>>=) :: [Int] -> (Int -> [Int]) -> [Int]
(>=>) :: (Int -> [Int]) -> (Int -> [Int]) -> Int -> [Int]
(xs >>= return) == xs
f x == (return x >>= f)
(f x >>= g) == (f >=> g) x
(f >=> return) == f
(return >=> f) == f