-
-
-================================================================================
-Desugared:
-Rec {
-c{-r3B,x-} :: _forall_ [takz] => takz
-{-# L #-}
-c{-r3B,x-} =
- _/\_ takz ->
- _letrec_ {
- c_akx :: takz
- {-# L #-}
- c_akx =
- c_akx;
- } in c_akx
-h{-r3E,x-} :: _forall_
- [talc tal8 tala]
- =>
- talc -> tala -> tal8 -> tala
-{-# L #-}
-h{-r3E,x-} =
- _/\_ talc tal8 tala ->
- _letrec_ {
- h_akB :: talc -> tala -> tal8 -> tala
- {-# L #-}
- h_akB =
- \ x_r3u :: talc
- {-# L #-}
- x_r3u y_r3v :: tala
- {-# L #-}
- y_r3v ->
- let {
- f_r3x :: _forall_ [tal4 tal6] => tal6 -> tal4 -> tal6
- {-# L #-}
- f_r3x =
- _/\_ tal4 tal6 -> \ a_r3z :: tal6
- {-# L #-}
- a_r3z b_r3A :: tal4
- {-# L #-}
- b_r3A ->
- a_r3z
- } in f_r3x _@_ tal8 _@_ tala y_r3v;
- } in h_akB
-f{-r3H,x-} :: _forall_ [taln] => taln -> taln
-{-# L #-}
-f{-r3H,x-} =
- _/\_ taln ->
- _letrec_ {
- f_ale :: taln -> taln
- {-# L #-}
- f_ale =
- \ x_r3j :: taln
- {-# L #-}
- x_r3j ->
- x_r3j;
- } in f_ale
-g{-r3G,x-} :: _forall_
- [talK talM talI]
- =>
- talK -> talM -> talI -> talI
-{-# L #-}
-g{-r3G,x-} =
- _/\_ talK talM talI ->
- _letrec_ {
- g_alp :: talK -> talM -> talI -> talI
- {-# L #-}
- g_alp =
- \ x_r3l :: talK
- {-# L #-}
- x_r3l y_r3m :: talM
- {-# L #-}
- y_r3m z_r3n :: talI
- {-# L #-}
- z_r3n ->
- f{-r3H,x-} _@_ talI z_r3n;
- } in g_alp
-j{-r3F,x-} :: _forall_
- [tami tame tamf tamg]
- =>
- tamf -> tamg -> tami -> tame -> tame
-{-# L #-}
-j{-r3F,x-} =
- _/\_ tami tame tamf tamg ->
- _letrec_ {
- j_alO :: tamf -> tamg -> tami -> tame -> tame
- {-# L #-}
- j_alO =
- \ w_r3p :: tamf
- {-# L #-}
- w_r3p x_r3q :: tamg
- {-# L #-}
- x_r3q y_r3r :: tami
- {-# L #-}
- y_r3r z_r3s :: tame
- {-# L #-}
- z_r3s ->
- g{-r3G,x-} _@_ tamf _@_ tamg _@_ tame w_r3p x_r3q z_r3s;
- } in j_alO
-b{-r3C,x-} :: _forall_ [tamo] => tamo -> tamo
-{-# L #-}
-b{-r3C,x-} =
- _/\_ tamo ->
- _letrec_ {
- b_amk :: tamo -> tamo
- {-# L #-}
- b_amk =
- f{-r3H,x-} _@_ tamo;
- } in b_amk
-a{-r3D,x-} :: _forall_ [tamu] => tamu -> tamu
-{-# L #-}
-a{-r3D,x-} =
- _/\_ tamu ->
- _letrec_ {
- a_amq :: tamu -> tamu
- {-# L #-}
- a_amq =
- b{-r3C,x-} _@_ tamu;
- } in a_amq
-end Rec }