3 Main.Foo.op1 = /\ a.t7 -> \{-classdict-} [] [op1.t8 op2.t9] -> op1.t8
5 /\ a.t7 b.t10 -> \{-classdict-} [] [op1.t8 op2.t9] -> op2.t9 b.t10
9 AbsBinds [a.t11] [d.Main.Foo.t12] [(op1.t13, op1.t14)]
11 op1.t13 :: a.t11 -> Bool
17 AbsBinds [a.t16, b.t17] [d.Main.Foo.t18, d.Ord.t19] [(op2.t20, op2.t21)]
18 (d.Ord.t31, d.Ord.t19)
19 (<.t28, (<) b.t17 d.Ord.t31)
20 (d.Main.Foo.t32, d.Main.Foo.t18)
21 (Main.Foo.op1.t26, Main.Foo.op1 a.t16 d.Main.Foo.t32)
23 op2.t20 :: a.t16 -> b.t17 -> b.t17 -> b.t17
26 = if (Main.Foo.op1.t26 x.r12) && (y.r13 <.t28 z.r14) then
33 ({-dict-} [] [const.Main.Foo.Int.op1, const.Main.Foo.Int.op2])
34 const.Main.Foo.Int.op1 = defm.Main.Foo.op1 Int dfun.Main.Foo.Int
35 const.Main.Foo.Int.op2 =
36 /\ b.t0 -> defm.Main.Foo.op2 [Int, b.t0] dfun.Main.Foo.Int
37 AbsBinds [a.t1] [d.Main.Foo.t2] [(d.Main.Foo.t3, dfun.Main.Foo.List)]
39 d.Main.Foo.t3 = ({-dict-} [] [op1.t4, op2.t5])
40 op1.t4 = defm.Main.Foo.op1 [a.t1] d.Main.Foo.t3
41 op2.t5 = /\ b.t6 -> defm.Main.Foo.op2 [[a.t1], b.t6] d.Main.Foo.t3