content: -- Test for ticket #830, simplifier taking too long on large do expression
  
  main = do
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
    return ()
  