 
            
            
            
            
                1 Apr
                
                    2016
                
            
            
                1 Apr
                
                '16
                
            
            
            
        
    
                3:06 a.m.
            
        On Fri, 1 Apr 2016, Erik de Castro Lopo wrote:
As pointed out to me on IRC (thanks pjdeport), changing the type signature of `forM_` to
forM_' :: (Monad m, Foldable t) => t a -> (a -> m ()) -> m ()
would have resulted in an error.
I would prefer that type (and the current behavior could be provided by a different function forVoidM_). If people do not want a change, the next best solution would be to add forUnitM_ with the type above. Then I could add a HLint warning about using current forM_. Or even better: Create a new module Data.Foldable.Unit or Control.Monad.Unit and put all result ignoring functions like forM_, mapM_, replicateM_ there.