2 AbsBinds [a.t0] [d.Eq.t1] [(d.Eq.t2, dfun.Eq.M.Bar)]
4 d.Eq.t2 = ({-dict-} [] [==.t3, /=.t4])
5 (==.t3) = defm.== (M.Bar a.t0) d.Eq.t2
6 (/=.t4) = defm./= (M.Bar a.t0) d.Eq.t2
7 AbsBinds [a.t5] [d.Ord.t7, d.Eq.t6] [(d.Ord.t8, dfun.Ord.M.Bar)]
12 [<.t9, <=.t10, >=.t11, >.t12, max.t13, min.t14, cmp3.t15])
13 (<.t9) = defm.< (M.Bar a.t5) d.Ord.t8
14 (<=.t10) = defm.<= (M.Bar a.t5) d.Ord.t8
15 (>=.t11) = defm.>= (M.Bar a.t5) d.Ord.t8
16 (>.t12) = defm.> (M.Bar a.t5) d.Ord.t8
17 max.t13 = defm.max (M.Bar a.t5) d.Ord.t8
18 min.t14 = defm.min (M.Bar a.t5) d.Ord.t8
19 cmp3.t15 = /\ tt16 -> defm.cmp3 [M.Bar a.t5, tt16] d.Ord.t8
21 =-=-=-=-=INTERFACE STARTS HERE=-=-=-=-= M
23 data Bar a = MkBar Int a
24 instance Eq a => Eq (Bar a)
25 instance Ord a => Ord (Bar a)
26 =-=-=-=-=INTERFACE STOPS HERE=-=-=-=-=