 
            
            
            
            
                29 Jan
                
                    2007
                
            
            
                29 Jan
                
                '07
                
            
            
            
        
    
                1:30 p.m.
            
        Hi David, let's agree to disagree. Apparently our personal preferences differ when it comes to error handling. Regarding the submission of 'timeout', I feel that those two lines say it all: timeout n f >>= maybe (fail "timeout") return (Just `fmap` timeout n t) `catch` (\_ -> return Nothing) An exception-throwing timeout combinator is obviously equivalent to one that returns "Maybe a" because both versions can be trivially wrapped to behave like the other one. I am in favor of using the version we have. Best regards, Peter