Desugared: Tests.f :: for all a, d, e. [a] -> d -> [e] -> [e] Tests.f = /\ a o86 t97 -> \ x.119 y.120 z.121 -> let ds.122 = (++ a) x.119 ((++ a) x.119 ((++ a) x.119 ((++ a) x.119 x.119))) in let fail.123 = (error [t97]) "\"ds016.hs\", line 17: pattern-matching failed in case\n"S in case ds.122 of { Nil -> Nil! t97 (:) a.124 ds.125 -> let fail.128 = let bs.126 = ds.125 in let a.127 = a.124 in (error [t97]) "4"S in case ds.125 of { Nil -> (error [t97]) "2"S (:) b.129 ds.130 -> case ds.130 of { (:) c.131 ds.132 -> case ds.132 of { Nil -> let a.133 = a.124 in let ds.134 = MkTuple4! o86 [t97] o86 [t97] y.120 z.121 y.120 z.121 in z.121 _ -> fail.128 } _ -> fail.128 } } }