breakM :: (Eq a, Monad m) => (a -> m Bool) -> [a] -> m ([a], [a])
breakM _ xs@[] = return (xs, xs)
breakM :: (Eq a, Monad m) => (a -> m Bool) -> [a] -> m ([a], [a])
breakM _ xs@[] = return (xs, xs)
breakM _ xs@[] = return (xs, xs)