2 SimpleListComp.f :: for all d. [d] -> [d]
12 let x.150 = ds.148 in (: t104) x.150 (ds.146 ds.149)
16 SimpleListComp.g :: for all d, e, f. [d] -> [e] -> [f] -> [(d, e, f)]
18 /\ t110 t111 t112 -> \ xs.163 ys.164 zs.165 ->
24 Nil -> Nil (t110, t111, t112)
66 SimpleListComp.h :: for all d. [d] -> [d] -> [[d]]
68 /\ t118 -> \ xs.189 ys.190 ->
85 let y.200 = ds.198 in ds.196 ds.199
92 SimpleListComp.i :: for all d, e. <Eq d> -> <Eq e> -> [([e], [d])] -> [[e]]
94 /\ t128 t127 -> \ dict.133 dict.132 ->
95 let dict.130 = (dfun.Eq.List t127) dict.132 in
96 let dict.131 = (dfun.Eq.List t128) dict.133 in
97 let dict.126 = ((dfun.Eq.Tuple2 [t127]) [t128]) dict.130 dict.131 in
109 MkTuple2 x.80 y.81 ->
113 ((== ([t127], [t128]))
123 (: [t127]) x.80 (ds.201 ds.204)
124 False -> ds.201 ds.204
131 SimpleListComp.j :: for all d, e, f, g. [(f, g, d, e)] -> [(f, g)]
133 /\ t139 t140 t137 t138 -> \ xs.210 ->
139 Nil -> Nil (t137, t138)
142 MkTuple4 a.215 b.216 c.217 d.218 ->
144 (MkTuple2! t137 t138 a.215 b.216)