Proof time | Proof |
YES |
0.46 |
mzero :: MonadPlus m => m a
|
YES |
0.4 |
mzero :: [] a
|
YES |
0.46 |
mzero :: Maybe a
|
YES |
0.71 |
mplus :: MonadPlus m => m a -> m a -> m a
|
YES |
0.75 |
mplus :: [] a -> [] a -> [] a
|
YES |
0.46 |
mplus :: Maybe a -> Maybe a -> Maybe a
|
YES |
0.73 |
join :: Monad m => m (m a) -> m a
|
YES |
0.71 |
join :: [] ([] a) -> [] a
|
YES |
0.44 |
join :: Maybe (Maybe a) -> Maybe a
|
YES |
0.43 |
join :: IO (IO a) -> IO a
|
YES |
0.72 |
msum :: MonadPlus m => [m a] -> m a
|
YES |
0.7 |
msum :: [[] a] -> [] a
|
YES |
0.68 |
msum :: [Maybe a] -> Maybe a
|
MAYBE |
1.79 |
filterM :: Monad m => (a -> m Bool) -> [a] -> m [a]
|
MAYBE |
1.71 |
filterM :: (a -> [] Bool) -> [a] -> [] [a]
|
YES |
0.7 |
filterM :: (a -> Maybe Bool) -> [a] -> Maybe [a]
|
YES |
0.7 |
filterM :: (a -> IO Bool) -> [a] -> IO [a]
|
MAYBE |
86.28 |
mapAndUnzipM :: Monad m => (a -> m (b,c)) -> [a] -> m ([b], [c])
|
MAYBE |
2.12 |
mapAndUnzipM :: (a -> [] (b,c)) -> [a] -> [] ([b], [c])
|
MAYBE |
47.55 |
mapAndUnzipM :: (a -> Maybe (b,c)) -> [a] -> Maybe ([b], [c])
|
YES |
0.74 |
mapAndUnzipM :: (a -> IO (b,c)) -> [a] -> IO ([b], [c])
|
MAYBE |
1.68 |
zipWithM :: Monad m => (a -> b -> m c) -> [a] -> [b] -> m [c]
|
MAYBE |
1.58 |
zipWithM :: (a -> b -> [] c) -> [a] -> [b] -> [] [c]
|
YES |
0.67 |
zipWithM :: (a -> b -> Maybe c) -> [a] -> [b] -> Maybe [c]
|
YES |
0.72 |
zipWithM :: (a -> b -> IO c) -> [a] -> [b] -> IO [c]
|
YES |
0.78 |
zipWithM_ :: Monad m => (a -> b -> m c) -> [a] -> [b] -> m ()
|
YES |
0.82 |
zipWithM_ :: (a -> b -> [] c) -> [a] -> [b] -> [] ()
|
YES |
0.69 |
zipWithM_ :: (a -> b -> Maybe c) -> [a] -> [b] -> Maybe ()
|
YES |
0.71 |
zipWithM_ :: (a -> b -> IO c) -> [a] -> [b] -> IO ()
|
MAYBE |
1.66 |
foldM :: Monad m => (a -> b -> m a) -> a -> [b] -> m a
|
MAYBE |
1.58 |
foldM :: (a -> b -> [] a) -> a -> [b] -> [] a
|
YES |
0.71 |
foldM :: (a -> b -> Maybe a) -> a -> [b] -> Maybe a
|
YES |
0.78 |
foldM :: (a -> b -> IO a) -> a -> [b] -> IO a
|
MAYBE |
2.12 |
foldM_ :: Monad m => (a -> b -> m a) -> a -> [b] -> m ()
|
MAYBE |
2.22 |
foldM_ :: (a -> b -> [] a) -> a -> [b] -> [] ()
|
YES |
0.76 |
foldM_ :: (a -> b -> Maybe a) -> a -> [b] -> Maybe ()
|
YES |
0.79 |
foldM_ :: (a -> b -> IO a) -> a -> [b] -> IO ()
|
YES |
1.39 |
replicateM :: Monad m => Int -> m a -> m [a]
|
YES |
1.09 |
replicateM :: Int -> [] a -> [] [a]
|
YES |
1.05 |
replicateM :: Int -> Maybe a -> Maybe [a]
|
YES |
0.85 |
replicateM :: Int -> IO a -> IO [a]
|
YES |
1.38 |
replicateM_ :: Monad m => Int -> m a -> m ()
|
YES |
1.03 |
replicateM_ :: Int -> [] a -> [] ()
|
YES |
0.85 |
replicateM_ :: Int -> Maybe a -> Maybe ()
|
YES |
0.9 |
replicateM_ :: Int -> IO a -> IO ()
|
YES |
0.48 |
guard :: MonadPlus m => Bool -> m ()
|
YES |
0.46 |
guard :: Bool -> [] ()
|
YES |
0.44 |
guard :: Bool -> Maybe ()
|
YES |
0.46 |
when :: Monad m => Bool -> m () -> m ()
|
YES |
0.44 |
when :: Bool -> [] () -> [] ()
|
YES |
0.42 |
when :: Bool -> Maybe () -> Maybe ()
|
YES |
0.44 |
when :: Bool -> IO () -> IO ()
|
YES |
0.45 |
unless :: Monad m => Bool -> m () -> m ()
|
YES |
0.45 |
unless :: Bool -> [] () -> [] ()
|
YES |
0.46 |
unless :: Bool -> Maybe () -> Maybe ()
|
YES |
0.44 |
unless :: Bool -> IO () -> IO ()
|
YES |
0.73 |
liftM :: Monad m => (a -> b) -> (m a -> m b)
|
YES |
0.71 |
liftM :: (a -> b) -> ([] a -> [] b)
|
YES |
0.46 |
liftM :: (a -> b) -> (Maybe a -> Maybe b)
|
YES |
0.43 |
liftM :: (a -> b) -> (IO a -> IO b)
|
YES |
0.73 |
liftM2 :: Monad m => (a -> b -> c) -> (m a -> m b -> m c)
|
YES |
0.8 |
liftM2 :: (a -> b -> c) -> ([] a -> [] b -> [] c)
|
YES |
0.46 |
liftM2 :: (a -> b -> c) -> (Maybe a -> Maybe b -> Maybe c)
|
YES |
0.45 |
liftM2 :: (a -> b -> c) -> (IO a -> IO b -> IO c)
|
YES |
0.84 |
liftM3 :: Monad m => (a -> b -> c -> d) -> (m a -> m b -> m c -> m d)
|
YES |
0.76 |
liftM3 :: (a -> b -> c -> d) -> ([] a -> [] b -> [] c -> [] d)
|
YES |
0.45 |
liftM3 :: (a -> b -> c -> d) -> (Maybe a -> Maybe b -> Maybe c -> Maybe d)
|
YES |
0.44 |
liftM3 :: (a -> b -> c -> d) -> (IO a -> IO b -> IO c -> IO d)
|
YES |
0.84 |
liftM4 :: Monad m => (a -> b -> c -> d -> e) -> (m a -> m b -> m c -> m d -> m e)
|
YES |
0.71 |
liftM4 :: (a -> b -> c -> d -> e) -> ([] a -> [] b -> [] c -> [] d -> [] e)
|
YES |
0.48 |
liftM4 :: (a -> b -> c -> d -> e) -> (Maybe a -> Maybe b -> Maybe c -> Maybe d -> Maybe e)
|
YES |
0.47 |
liftM4 :: (a -> b -> c -> d -> e) -> (IO a -> IO b -> IO c -> IO d -> IO e)
|
YES |
0.83 |
liftM5 :: Monad m => (a -> b -> c -> d -> e -> f) -> (m a -> m b -> m c -> m d -> m e -> m f)
|
YES |
0.76 |
liftM5 :: (a -> b -> c -> d -> e -> f) -> ([] a -> [] b -> [] c -> [] d -> [] e -> [] f)
|
YES |
0.47 |
liftM5 :: (a -> b -> c -> d -> e -> f) -> (Maybe a -> Maybe b -> Maybe c -> Maybe d -> Maybe e -> Maybe f)
|
YES |
0.48 |
liftM5 :: (a -> b -> c -> d -> e -> f) -> (IO a -> IO b -> IO c -> IO d -> IO e -> IO f)
|
YES |
0.74 |
ap :: Monad m => m (a -> b) -> m a -> m b
|
YES |
0.71 |
ap :: [] (a -> b) -> [] a -> [] b
|
YES |
0.45 |
ap :: Maybe (a -> b) -> Maybe a -> Maybe b
|
YES |
0.49 |
ap :: IO (a -> b) -> IO a -> IO b
|