-Desugared:
-Test.f :: for all d. d -> d
-Test.f = /\ o88 -> \ x.104 -> x.104
-Test.g :: for all d, e, f. d -> e -> f -> f
-Test.g =
- /\ o97 o98 t102 -> \ x.106 y.107 z.108 ->
- let
- fail.109 =
- (error t102)
- "\"ds002.hs\", line 16: pattern-matching failure [function binding]\n"S
- in (Test.f t102) z.108
+ds002.hs:8:
+ Warning: Pattern match(es) completely overlapped
+ in the definition of function `f'
+ds002.hs:9:
+ Warning: Pattern match(es) completely overlapped
+ in the definition of function `f'
+ds002.hs:13:
+ Warning: Possibly incomplete patterns
+ in the definition of function `g'
+
+================================================================================
+Desugared:
+f{-r3w,x-} ::
+ _forall_ [t{-an6-}] => t{-an6-} -> t{-an6-}
+{-# L #-}
+f{-r3w,x-} =
+ _/\_ t{-an6-} -> \ x_r3e ::
+ t{-an6-}
+ {-# L #-}
+ x_r3e ->
+ x_r3e
+g{-r3v,x-} ::
+ _forall_
+ [t{-anr-} t{-anA-} t{-anC-}]
+ =>
+ t{-anA-} -> t{-anC-} -> t{-anr-} -> t{-anr-}
+{-# L #-}
+g{-r3v,x-} =
+ _/\_ t{-anr-} t{-anA-} t{-anC-} -> \ x_r3k ::
+ t{-anA-}
+ {-# L #-}
+ x_r3k y_r3m ::
+ t{-anC-}
+ {-# L #-}
+ y_r3m z_r3o ::
+ t{-anr-}
+ {-# L #-}
+ z_r3o ->
+ let {
+ fail_drB ::
+ t{-anr-}
+ {-# L #-}
+ fail_drB =
+ GHCerr.patError{-8r,p-}
+ _@_ t{-anr-} _string_ "ds002.hs:11|function `g'" } in
+ let { fail_drG ::
+ t{-anr-}
+ {-# L #-}
+ fail_drG =
+ let {
+ z_r3u ::
+ t{-anr-}
+ {-# L #-}
+ z_r3u =
+ z_r3o } in
+ let {
+ y_r3s ::
+ t{-anC-}
+ {-# L #-}
+ y_r3s =
+ y_r3m } in
+ let {
+ x_r3q ::
+ t{-anA-}
+ {-# L #-}
+ x_r3q =
+ x_r3k
+ } in
+ f{-r3w,x-}
+ _@_ t{-anr-} z_r3u
+ } in
+ f{-r3w,x-}
+ _@_ t{-anr-} z_r3o