Typechecked: AbsBinds [ot6, ot4, ot5] [] [(s.t1, ShouldSucceed.s)] {- nonrec -} s.t1 :: (ot4 -> ot6 -> ot5) -> (ot4 -> ot6) -> ot4 -> ot5 s.t1 f.r57 g.r58 x.r59 = f.r57 x.r59 (g.r58 x.r59) AbsBinds [ot10, ot9] [] [(k.t8, ShouldSucceed.k)] {- nonrec -} k.t8 :: ot9 -> ot10 -> ot9 k.t8 x.r60 y.r61 = x.r60 AbsBinds [tt20] [] [(main.t12, ShouldSucceed.main)] {- nonrec -} main.t12 :: tt20 -> tt20 main.t12 x.r56 = (ShouldSucceed.s [tt19 -> tt20, tt20, tt20]) (ShouldSucceed.k [tt19 -> tt20, tt20]) (ShouldSucceed.k [tt19, tt20]) x.r56