data ABC = A | B | C many :: () -> Either a b -> Bool -> Maybe ABC -> ABC -> () many () (Left a) False Nothing A = _w0 many () (Left a) False Nothing B = _w1 many () (Left a) False Nothing C = _w2 many () (Left a) False (Just abc') A = _w3 many () (Left a) False (Just abc') B = _w4 many () (Left a) False (Just abc') C = _w5 many () (Left a) True Nothing A = _w6 many () (Left a) True Nothing B = _w7 many () (Left a) True Nothing C = _w8 many () (Left a) True (Just abc') A = _w9 many () (Left a) True (Just abc') B = _wa many () (Left a) True (Just abc') C = _wb many () (Right b') False Nothing A = _wc many () (Right b') False Nothing B = _wd many () (Right b') False Nothing C = _we many () (Right b') False (Just abc') A = _wf many () (Right b') False (Just abc') B = _wg many () (Right b') False (Just abc') C = _wh many () (Right b') True Nothing A = _wi many () (Right b') True Nothing B = _wj many () (Right b') True Nothing C = _wk many () (Right b') True (Just abc') A = _wl many () (Right b') True (Just abc') B = _wm many () (Right b') True (Just abc') C = _wn