-- 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 ()
