| Nd_id1 judgment
| Nd_weak1 judgment
| Nd_copy (Tree (Prelude.Maybe judgment))
+ | Nd_exch (Tree (Prelude.Maybe judgment)) (Tree (Prelude.Maybe judgment))
| Nd_prod (Tree (Prelude.Maybe judgment)) (Tree (Prelude.Maybe judgment)) (Tree (Prelude.Maybe judgment)) (Tree (Prelude.Maybe judgment)) (ND judgment rule) (ND judgment rule)
| Nd_comp (Tree (Prelude.Maybe judgment)) (Tree (Prelude.Maybe judgment)) (Tree (Prelude.Maybe judgment)) (ND judgment rule) (ND judgment rule)
| Nd_cancell (Tree (Prelude.Maybe judgment))
| Nd_cossa (Tree (Prelude.Maybe judgment)) (Tree (Prelude.Maybe judgment)) (Tree (Prelude.Maybe judgment))
| Nd_rule (Tree (Prelude.Maybe judgment)) (Tree (Prelude.Maybe judgment)) rule
-nD_rect :: a3 -> (a1 -> a3) -> (a1 -> a3) -> ((Tree (Prelude.Maybe a1)) -> a3) -> ((Tree (Prelude.Maybe a1)) -> (Tree (Prelude.Maybe a1)) -> (Tree (Prelude.Maybe a1)) -> (Tree (Prelude.Maybe a1)) -> (ND a1 a2) -> a3 -> (ND a1 a2) -> a3 -> a3) -> ((Tree (Prelude.Maybe a1)) -> (Tree (Prelude.Maybe a1)) -> (Tree (Prelude.Maybe a1)) -> (ND a1 a2) -> a3 -> (ND a1 a2) -> a3 -> a3) -> ((Tree (Prelude.Maybe a1)) -> a3) -> ((Tree (Prelude.Maybe a1)) -> a3) -> ((Tree (Prelude.Maybe a1)) -> a3) -> ((Tree (Prelude.Maybe a1)) -> a3) -> ((Tree (Prelude.Maybe a1)) -> (Tree (Prelude.Maybe a1)) -> (Tree (Prelude.Maybe a1)) -> a3) -> ((Tree (Prelude.Maybe a1)) -> (Tree (Prelude.Maybe a1)) -> (Tree (Prelude.Maybe a1)) -> a3) -> ((Tree (Prelude.Maybe a1)) -> (Tree (Prelude.Maybe a1)) -> a2 -> a3) -> (Tree (Prelude.Maybe a1)) -> (Tree (Prelude.Maybe a1)) -> (ND a1 a2) -> a3
-nD_rect f f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 hypotheses conclusions n =
+nD_rect :: a3 -> (a1 -> a3) -> (a1 -> a3) -> ((Tree (Prelude.Maybe a1)) -> a3) -> ((Tree (Prelude.Maybe a1)) -> (Tree (Prelude.Maybe a1)) -> a3) -> ((Tree (Prelude.Maybe a1)) -> (Tree (Prelude.Maybe a1)) -> (Tree (Prelude.Maybe a1)) -> (Tree (Prelude.Maybe a1)) -> (ND a1 a2) -> a3 -> (ND a1 a2) -> a3 -> a3) -> ((Tree (Prelude.Maybe a1)) -> (Tree (Prelude.Maybe a1)) -> (Tree (Prelude.Maybe a1)) -> (ND a1 a2) -> a3 -> (ND a1 a2) -> a3 -> a3) -> ((Tree (Prelude.Maybe a1)) -> a3) -> ((Tree (Prelude.Maybe a1)) -> a3) -> ((Tree (Prelude.Maybe a1)) -> a3) -> ((Tree (Prelude.Maybe a1)) -> a3) -> ((Tree (Prelude.Maybe a1)) -> (Tree (Prelude.Maybe a1)) -> (Tree (Prelude.Maybe a1)) -> a3) -> ((Tree (Prelude.Maybe a1)) -> (Tree (Prelude.Maybe a1)) -> (Tree (Prelude.Maybe a1)) -> a3) -> ((Tree (Prelude.Maybe a1)) -> (Tree (Prelude.Maybe a1)) -> a2 -> a3) -> (Tree (Prelude.Maybe a1)) -> (Tree (Prelude.Maybe a1)) -> (ND a1 a2) -> a3
+nD_rect f f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 hypotheses conclusions n =
(trace "X" (case (trace "X" (n)) of {
Nd_id0 -> (trace "X" (f));
Nd_id1 h -> (trace "X" ((trace "X" (f0 (trace "X" (h))))));
Nd_weak1 h -> (trace "X" ((trace "X" (f1 (trace "X" (h))))));
Nd_copy h -> (trace "X" ((trace "X" (f2 (trace "X" (h))))));
- Nd_prod h1 h2 c1 c2 pf1 pf2 -> (trace "X" ((trace "X" (f3 (trace "X" (h1)) (trace "X" (h2)) (trace "X" (c1)) (trace "X" (c2)) (trace "X" (pf1)) (trace "X" ((trace "X" ((nD_rect (trace "X" (f)) (trace "X" (f0)) (trace "X" (f1)) (trace "X" (f2)) (trace "X" (f3)) (trace "X" (f4)) (trace "X" (f5)) (trace "X" (f6)) (trace "X" (f7)) (trace "X" (f8)) (trace "X" (f9)) (trace "X" (f10)) (trace "X" (f11)) (trace "X" (h1)) (trace "X" (c1)) (trace "X" (pf1))))))) (trace "X" (pf2)) (trace "X" ((trace "X" ((nD_rect (trace "X" (f)) (trace "X" (f0)) (trace "X" (f1)) (trace "X" (f2)) (trace "X" (f3)) (trace "X" (f4)) (trace "X" (f5)) (trace "X" (f6)) (trace "X" (f7)) (trace "X" (f8)) (trace "X" (f9)) (trace "X" (f10)) (trace "X" (f11)) (trace "X" (h2)) (trace "X" (c2)) (trace "X" (pf2)))))))))));
- Nd_comp h x c pf1 pf2 -> (trace "X" ((trace "X" (f4 (trace "X" (h)) (trace "X" (x)) (trace "X" (c)) (trace "X" (pf1)) (trace "X" ((trace "X" ((nD_rect (trace "X" (f)) (trace "X" (f0)) (trace "X" (f1)) (trace "X" (f2)) (trace "X" (f3)) (trace "X" (f4)) (trace "X" (f5)) (trace "X" (f6)) (trace "X" (f7)) (trace "X" (f8)) (trace "X" (f9)) (trace "X" (f10)) (trace "X" (f11)) (trace "X" (h)) (trace "X" (x)) (trace "X" (pf1))))))) (trace "X" (pf2)) (trace "X" ((trace "X" ((nD_rect (trace "X" (f)) (trace "X" (f0)) (trace "X" (f1)) (trace "X" (f2)) (trace "X" (f3)) (trace "X" (f4)) (trace "X" (f5)) (trace "X" (f6)) (trace "X" (f7)) (trace "X" (f8)) (trace "X" (f9)) (trace "X" (f10)) (trace "X" (f11)) (trace "X" (x)) (trace "X" (c)) (trace "X" (pf2)))))))))));
- Nd_cancell a -> (trace "X" ((trace "X" (f5 (trace "X" (a))))));
- Nd_cancelr a -> (trace "X" ((trace "X" (f6 (trace "X" (a))))));
- Nd_llecnac a -> (trace "X" ((trace "X" (f7 (trace "X" (a))))));
- Nd_rlecnac a -> (trace "X" ((trace "X" (f8 (trace "X" (a))))));
- Nd_assoc a b c -> (trace "X" ((trace "X" (f9 (trace "X" (a)) (trace "X" (b)) (trace "X" (c))))));
- Nd_cossa a b c -> (trace "X" ((trace "X" (f10 (trace "X" (a)) (trace "X" (b)) (trace "X" (c))))));
- Nd_rule h c r -> (trace "X" ((trace "X" (f11 (trace "X" (h)) (trace "X" (c)) (trace "X" (r))))))}))
+ Nd_exch x y -> (trace "X" ((trace "X" (f3 (trace "X" (x)) (trace "X" (y))))));
+ Nd_prod h1 h2 c1 c2 pf1 pf2 -> (trace "X" ((trace "X" (f4 (trace "X" (h1)) (trace "X" (h2)) (trace "X" (c1)) (trace "X" (c2)) (trace "X" (pf1)) (trace "X" ((trace "X" ((nD_rect (trace "X" (f)) (trace "X" (f0)) (trace "X" (f1)) (trace "X" (f2)) (trace "X" (f3)) (trace "X" (f4)) (trace "X" (f5)) (trace "X" (f6)) (trace "X" (f7)) (trace "X" (f8)) (trace "X" (f9)) (trace "X" (f10)) (trace "X" (f11)) (trace "X" (f12)) (trace "X" (h1)) (trace "X" (c1)) (trace "X" (pf1))))))) (trace "X" (pf2)) (trace "X" ((trace "X" ((nD_rect (trace "X" (f)) (trace "X" (f0)) (trace "X" (f1)) (trace "X" (f2)) (trace "X" (f3)) (trace "X" (f4)) (trace "X" (f5)) (trace "X" (f6)) (trace "X" (f7)) (trace "X" (f8)) (trace "X" (f9)) (trace "X" (f10)) (trace "X" (f11)) (trace "X" (f12)) (trace "X" (h2)) (trace "X" (c2)) (trace "X" (pf2)))))))))));
+ Nd_comp h x c pf1 pf2 -> (trace "X" ((trace "X" (f5 (trace "X" (h)) (trace "X" (x)) (trace "X" (c)) (trace "X" (pf1)) (trace "X" ((trace "X" ((nD_rect (trace "X" (f)) (trace "X" (f0)) (trace "X" (f1)) (trace "X" (f2)) (trace "X" (f3)) (trace "X" (f4)) (trace "X" (f5)) (trace "X" (f6)) (trace "X" (f7)) (trace "X" (f8)) (trace "X" (f9)) (trace "X" (f10)) (trace "X" (f11)) (trace "X" (f12)) (trace "X" (h)) (trace "X" (x)) (trace "X" (pf1))))))) (trace "X" (pf2)) (trace "X" ((trace "X" ((nD_rect (trace "X" (f)) (trace "X" (f0)) (trace "X" (f1)) (trace "X" (f2)) (trace "X" (f3)) (trace "X" (f4)) (trace "X" (f5)) (trace "X" (f6)) (trace "X" (f7)) (trace "X" (f8)) (trace "X" (f9)) (trace "X" (f10)) (trace "X" (f11)) (trace "X" (f12)) (trace "X" (x)) (trace "X" (c)) (trace "X" (pf2)))))))))));
+ Nd_cancell a -> (trace "X" ((trace "X" (f6 (trace "X" (a))))));
+ Nd_cancelr a -> (trace "X" ((trace "X" (f7 (trace "X" (a))))));
+ Nd_llecnac a -> (trace "X" ((trace "X" (f8 (trace "X" (a))))));
+ Nd_rlecnac a -> (trace "X" ((trace "X" (f9 (trace "X" (a))))));
+ Nd_assoc a b c -> (trace "X" ((trace "X" (f10 (trace "X" (a)) (trace "X" (b)) (trace "X" (c))))));
+ Nd_cossa a b c -> (trace "X" ((trace "X" (f11 (trace "X" (a)) (trace "X" (b)) (trace "X" (c))))));
+ Nd_rule h c r -> (trace "X" ((trace "X" (f12 (trace "X" (h)) (trace "X" (c)) (trace "X" (r))))))}))
nd_id :: (Tree (Prelude.Maybe a1)) -> ND a1 a2
nd_id sl =
mkSIND :: (Tree (Prelude.Maybe a1)) -> (Tree (Prelude.Maybe a1)) -> (Tree (Prelude.Maybe a1)) -> (ND a1 a2) -> (SIND a1 a2) -> SIND a1 a2
mkSIND h x c nd =
- (trace "X" ((trace "X" (nD_rect (trace "X" ((\k -> (trace "X" (k))))) (trace "X" ((\h0 k -> (trace "X" (k))))) (trace "X" ((\h0 k -> (trace "X" (Scnd_weak (trace "X" (h))))))) (trace "X" ((\h0 k -> (trace "X" (Scnd_branch (trace "X" (h)) (trace "X" (h0)) (trace "X" (h0)) (trace "X" (k)) (trace "X" (k))))))) (trace "X" ((\h1 h2 c1 c2 nd1 iHnd1 nd2 iHnd2 k ->
+ (trace "X" ((trace "X" (nD_rect (trace "X" ((\k -> (trace "X" (k))))) (trace "X" ((\h0 k -> (trace "X" (k))))) (trace "X" ((\h0 k -> (trace "X" (Scnd_weak (trace "X" (h))))))) (trace "X" ((\h0 k -> (trace "X" (Scnd_branch (trace "X" (h)) (trace "X" (h0)) (trace "X" (h0)) (trace "X" (k)) (trace "X" (k))))))) (trace "X" ((\x0 y k ->
+ (trace "X" (case (trace "X" (k)) of {
+ Scnd_weak c0 -> (trace "X" (false_rect));
+ Scnd_comp ht ct c0 x1 x2 -> (trace "X" ((trace "X" (eq_rect (trace "X" (h)) (trace "X" ((\_ -> (trace "X" (false_rect))))) (trace "X" (ht)) (trace "X" (__)) (trace "X" (x1)) (trace "X" (x2))))));
+ Scnd_branch ht c1 c2 x1 x2 -> (trace "X" ((trace "X" (eq_rect (trace "X" (h)) (trace "X" ((\_ -> (trace "X" ((trace "X" (eq_rect (trace "X" (x0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (eq_rect (trace "X" (y)) (trace "X" ((\x3 x4 -> (trace "X" (Scnd_branch (trace "X" (h)) (trace "X" (y)) (trace "X" (x0)) (trace "X" (x4)) (trace "X" (x3))))))) (trace "X" (c2))))))))) (trace "X" (c1)) (trace "X" (__))))))))) (trace "X" (ht)) (trace "X" (__)) (trace "X" (x1)) (trace "X" (x2))))))}))))) (trace "X" ((\h1 h2 c1 c2 nd1 iHnd1 nd2 iHnd2 k ->
(trace "X" (case (trace "X" (k)) of {
Scnd_weak c0 -> (trace "X" (false_rect));
Scnd_comp ht ct c0 x0 x1 -> (trace "X" ((trace "X" (eq_rect (trace "X" (h)) (trace "X" ((\_ -> (trace "X" (false_rect))))) (trace "X" (ht)) (trace "X" (__)) (trace "X" (x0)) (trace "X" (x1))))));
Nd_id1 h0 -> (trace "X" (Nd_id1 (trace "X" ((trace "X" ((f (trace "X" (h0)))))))));
Nd_weak1 h0 -> (trace "X" ((trace "X" (nd_weak (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((f (trace "X" (h0)))))))))))))))));
Nd_copy h0 -> (trace "X" (Nd_copy (trace "X" ((trace "X" ((mapOptionTree (trace "X" (f)) (trace "X" (h0)))))))));
+ Nd_exch x y -> (trace "X" (Nd_exch (trace "X" ((trace "X" ((mapOptionTree (trace "X" (f)) (trace "X" (x))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (f)) (trace "X" (y)))))))));
Nd_prod h1 h2 c1 c2 lpf rpf -> (trace "X" (Nd_prod (trace "X" ((trace "X" ((mapOptionTree (trace "X" (f)) (trace "X" (h1))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (f)) (trace "X" (h2))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (f)) (trace "X" (c1))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (f)) (trace "X" (c2))))))) (trace "X" ((trace "X" ((nd_map' (trace "X" (f)) (trace "X" (r)) (trace "X" (h1)) (trace "X" (c1)) (trace "X" (lpf))))))) (trace "X" ((trace "X" ((nd_map' (trace "X" (f)) (trace "X" (r)) (trace "X" (h2)) (trace "X" (c2)) (trace "X" (rpf)))))))));
Nd_comp h0 x c0 top bot -> (trace "X" (Nd_comp (trace "X" ((trace "X" ((mapOptionTree (trace "X" (f)) (trace "X" (h0))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (f)) (trace "X" (x))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (f)) (trace "X" (c0))))))) (trace "X" ((trace "X" ((nd_map' (trace "X" (f)) (trace "X" (r)) (trace "X" (h0)) (trace "X" (x)) (trace "X" (top))))))) (trace "X" ((trace "X" ((nd_map' (trace "X" (f)) (trace "X" (r)) (trace "X" (x)) (trace "X" (c0)) (trace "X" (bot)))))))));
Nd_cancell a -> (trace "X" (Nd_cancell (trace "X" ((trace "X" ((mapOptionTree (trace "X" (f)) (trace "X" (a)))))))));
| RLam TypeEnv CoercionEnv (Tree (Prelude.Maybe LeveledHaskType)) HaskType HaskType HaskLevel
| RCast TypeEnv CoercionEnv (Tree (Prelude.Maybe LeveledHaskType)) HaskType HaskType HaskLevel
| RJoin TypeEnv CoercionEnv (Tree (Prelude.Maybe LeveledHaskType)) (Tree (Prelude.Maybe LeveledHaskType)) (Tree (Prelude.Maybe LeveledHaskType)) (Tree (Prelude.Maybe LeveledHaskType))
- | RApp TypeEnv CoercionEnv (Tree (Prelude.Maybe LeveledHaskType)) (Tree (Prelude.Maybe LeveledHaskType)) HaskType (() -> (InstantiatedTypeEnv ()) -> RawHaskType ()) HaskLevel
+ | RApp TypeEnv CoercionEnv (Tree (Prelude.Maybe LeveledHaskType)) (Tree (Prelude.Maybe LeveledHaskType)) (() -> (InstantiatedTypeEnv ()) -> RawHaskType ()) (() -> (InstantiatedTypeEnv ()) -> RawHaskType ()) HaskLevel
| RLet TypeEnv CoercionEnv (Tree (Prelude.Maybe LeveledHaskType)) (Tree (Prelude.Maybe LeveledHaskType)) HaskType HaskType HaskLevel
+ | RWhere TypeEnv CoercionEnv (Tree (Prelude.Maybe LeveledHaskType)) (Tree (Prelude.Maybe LeveledHaskType)) (Tree (Prelude.Maybe LeveledHaskType)) HaskType HaskType HaskLevel
| RVoid TypeEnv CoercionEnv
| RAppT TypeEnv CoercionEnv (Tree (Prelude.Maybe LeveledHaskType)) Kind (() -> (InstantiatedTypeEnv ()) -> () -> RawHaskType ()) HaskType HaskLevel
| RAbsT (([]) Kind) CoercionEnv (Tree (Prelude.Maybe LeveledHaskType)) Kind (() -> (InstantiatedTypeEnv ()) -> () -> RawHaskType ()) HaskLevel
pivotContext a b c =
(trace "X" (RComp (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b))))) (trace "X" (c))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (b)))))))) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c))))) (trace "X" (b))))) (trace "X" ((RComp (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b))))) (trace "X" (c))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (c)))))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (b)))))))) (trace "X" ((RCossa (trace "X" (a)) (trace "X" (b)) (trace "X" (c))))) (trace "X" ((RLeft (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (c))))) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (b))))) (trace "X" (a)) (trace "X" ((RExch (trace "X" (c)) (trace "X" (b))))))))))) (trace "X" ((RAssoc (trace "X" (a)) (trace "X" (c)) (trace "X" (b)))))))
+pivotContext' :: (Tree (Prelude.Maybe a1)) -> (Tree (Prelude.Maybe a1)) -> (Tree (Prelude.Maybe a1)) -> Arrange a1
+pivotContext' a b c =
+ (trace "X" (RComp (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (c)))))))) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (a))))) (trace "X" (c))))) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c)))))))) (trace "X" ((RComp (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (c)))))))) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b))))) (trace "X" (c))))) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (a))))) (trace "X" (c))))) (trace "X" ((RAssoc (trace "X" (a)) (trace "X" (b)) (trace "X" (c))))) (trace "X" ((RRight (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b))))) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (a))))) (trace "X" (c)) (trace "X" ((RExch (trace "X" (b)) (trace "X" (a))))))))))) (trace "X" ((RCossa (trace "X" (b)) (trace "X" (a)) (trace "X" (c)))))))
+
copyAndPivotContext :: (Tree (Prelude.Maybe a1)) -> (Tree (Prelude.Maybe a1)) -> (Tree (Prelude.Maybe a1)) -> Arrange a1
copyAndPivotContext a b c =
(trace "X" (RComp (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b))))) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (b)))))))) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c))))) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (b)))))))) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c))))) (trace "X" (b))))) (trace "X" ((RComp (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b))))) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (b)))))))) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c))))) (trace "X" (b))))) (trace "X" (b))))) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c))))) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (b)))))))) (trace "X" ((RComp (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b))))) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (b)))))))) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b))))) (trace "X" (c))))) (trace "X" (b))))) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c))))) (trace "X" (b))))) (trace "X" (b))))) (trace "X" ((RAssoc (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b))))) (trace "X" (c)) (trace "X" (b))))) (trace "X" ((RRight (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b))))) (trace "X" (c))))) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c))))) (trace "X" (b))))) (trace "X" (b)) (trace "X" ((trace "X" ((pivotContext (trace "X" (a)) (trace "X" (b)) (trace "X" (c))))))))))))) (trace "X" ((RCossa (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c))))) (trace "X" (b)) (trace "X" (b)))))))) (trace "X" ((RLeft (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (b))))) (trace "X" (b)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c))))) (trace "X" ((RCont (trace "X" (b))))))))))
expr2antecedent0 __U0393_' __U0394_' __U03be_' __U03c4_' exp =
(trace "X" (case (trace "X" (exp)) of {
EVar __U0393_0 __U0394_0 __U03be_0 ev -> (trace "X" (T_Leaf (trace "X" ((Prelude.Just (trace "X" (ev)))))));
- EApp __U0393_0 __U0394_0 __U03be_0 t1 t2 lev e1 e2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((expr2antecedent0 (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (t2)) (trace "X" (lev))))) (trace "X" (e2))))))) (trace "X" ((trace "X" ((expr2antecedent0 (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((t2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((t1 (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev))))) (trace "X" (e1)))))))));
+ EApp __U0393_0 __U0394_0 __U03be_0 t1 t2 lev e1 e2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((expr2antecedent0 (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((t2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((t1 (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev))))) (trace "X" (e1))))))) (trace "X" ((trace "X" ((expr2antecedent0 (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (t2)) (trace "X" (lev))))) (trace "X" (e2)))))))));
ELam __U0393_0 __U0394_0 __U03be_0 t1 t2 lev v e -> (trace "X" ((trace "X" (stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (v)) (trace "X" (([])))))) (trace "X" ((trace "X" ((expr2antecedent0 (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" (((:) (trace "X" (((,) (trace "X" (v)) (trace "X" (t1))))) (trace "X" (([]))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" (t2)) (trace "X" (lev))))) (trace "X" (e)))))))))));
- ELet __U0393_0 __U0394_0 __U03be_0 tv t lev v ev ebody -> (trace "X" (T_Branch (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (v)) (trace "X" (([])))))) (trace "X" ((trace "X" ((expr2antecedent0 (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" (((:) (trace "X" (((,) (trace "X" (v)) (trace "X" (tv))))) (trace "X" (([]))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (lev))))) (trace "X" (ebody)))))))))))) (trace "X" ((trace "X" ((expr2antecedent0 (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (tv)) (trace "X" (lev))))) (trace "X" (ev)))))))));
+ ELet __U0393_0 __U0394_0 __U03be_0 tv t lev v ev ebody -> (trace "X" (T_Branch (trace "X" ((trace "X" ((expr2antecedent0 (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (tv)) (trace "X" (lev))))) (trace "X" (ev))))))) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (v)) (trace "X" (([])))))) (trace "X" ((trace "X" ((expr2antecedent0 (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" (((:) (trace "X" (((,) (trace "X" (v)) (trace "X" (tv))))) (trace "X" (([]))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (lev))))) (trace "X" (ebody))))))))))))));
EEsc __U0393_0 __U0394_0 __U03be_0 ec t lev e -> (trace "X" ((trace "X" (expr2antecedent0 (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (haskBrak (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (t))))))))) (trace "X" (lev))))) (trace "X" (e))))));
EBrak __U0393_0 __U0394_0 __U03be_0 ec t lev e -> (trace "X" ((trace "X" (expr2antecedent0 (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev)))))))) (trace "X" (e))))));
ECast __U0393_0 __U0394_0 __U03be_0 __U03b3_ t1 lev e -> (trace "X" ((trace "X" (expr2antecedent0 (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (__U03b3_)) (trace "X" (lev))))) (trace "X" (e))))));
Prelude.Nothing -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))))}));
T_Branch b1 b2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((varsfromalts (trace "X" (b1))))))) (trace "X" ((trace "X" ((varsfromalts (trace "X" (b2)))))))))}))}
in varsfromalts (trace "X" (alts))))))) (trace "X" ((trace "X" ((expr2antecedent0 (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (caseType (trace "X" (__U0393_0)) (trace "X" (tc)) (trace "X" (atypes))))))))) (trace "X" (l))))) (trace "X" (e')))))))));
- ELetRec __U0393_0 __U0394_0 __U03be_0 l __U03c4_ vars x x0 -> (trace "X" (let {__U03be_'0 = (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" ((trace "X" ((leaves (trace "X" (vars)))))))))))} in (trace "X" (let {branch_context = (trace "X" ((trace "X" (eLetRecContext0 (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_'0)) (trace "X" (l)) (trace "X" (vars)) (trace "X" (x))))))} in (trace "X" (let {all_contexts = (trace "X" (T_Branch (trace "X" ((trace "X" ((expr2antecedent0 (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_'0)) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (l))))) (trace "X" (x0))))))) (trace "X" (branch_context))))} in (trace "X" ((trace "X" (stripOutVars (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((leaves (trace "X" ((trace "X" ((mapOptionTree (trace "X" (fst)) (trace "X" (vars)))))))))))) (trace "X" (all_contexts))))))))))));
+ ELetRec __U0393_0 __U0394_0 __U03be_0 l __U03c4_ vars x x0 -> (trace "X" (let {__U03be_'0 = (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" ((trace "X" ((leaves (trace "X" (vars)))))))))))} in (trace "X" (let {branch_context = (trace "X" ((trace "X" (eLetRecContext0 (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_'0)) (trace "X" (l)) (trace "X" (vars)) (trace "X" (x))))))} in (trace "X" (let {all_contexts = (trace "X" (T_Branch (trace "X" (branch_context)) (trace "X" ((trace "X" ((expr2antecedent0 (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_'0)) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (l))))) (trace "X" (x0)))))))))} in (trace "X" ((trace "X" (stripOutVars (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((leaves (trace "X" ((trace "X" ((mapOptionTree (trace "X" (fst)) (trace "X" (vars)))))))))))) (trace "X" (all_contexts))))))))))));
_ -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))))}));
eLetRecContext0 __U0393_0 __U0394_0 __U03be_0 lev tree elrb =
(trace "X" (case (trace "X" (elrb)) of {
EGlobal __U0393_0 __U0394_0 __U03be_0 g v lev -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))));
EVar __U0393_0 __U0394_0 __U03be_0 ev -> (trace "X" (T_Leaf (trace "X" ((Prelude.Just (trace "X" (ev)))))));
ELit __U0393_0 __U0394_0 __U03be_0 lit lev -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))));
- EApp __U0393_0 __U0394_0 __U03be_0 t1 t2 lev e1 e2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((expr2antecedent0 (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (t2)) (trace "X" (lev))))) (trace "X" (e2))))))) (trace "X" ((trace "X" ((expr2antecedent0 (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((t2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((t1 (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev))))) (trace "X" (e1)))))))));
+ EApp __U0393_0 __U0394_0 __U03be_0 t1 t2 lev e1 e2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((expr2antecedent0 (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((t2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((t1 (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev))))) (trace "X" (e1))))))) (trace "X" ((trace "X" ((expr2antecedent0 (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (t2)) (trace "X" (lev))))) (trace "X" (e2)))))))));
ELam __U0393_0 __U0394_0 __U03be_0 t1 t2 lev v e -> (trace "X" ((trace "X" (stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (v)) (trace "X" (([])))))) (trace "X" ((trace "X" ((expr2antecedent0 (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" (((:) (trace "X" (((,) (trace "X" (v)) (trace "X" (t1))))) (trace "X" (([]))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" (t2)) (trace "X" (lev))))) (trace "X" (e)))))))))));
- ELet __U0393_0 __U0394_0 __U03be_0 tv t lev v ev ebody -> (trace "X" (T_Branch (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (v)) (trace "X" (([])))))) (trace "X" ((trace "X" ((expr2antecedent0 (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" (((:) (trace "X" (((,) (trace "X" (v)) (trace "X" (tv))))) (trace "X" (([]))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (lev))))) (trace "X" (ebody)))))))))))) (trace "X" ((trace "X" ((expr2antecedent0 (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (tv)) (trace "X" (lev))))) (trace "X" (ev)))))))));
+ ELet __U0393_0 __U0394_0 __U03be_0 tv t lev v ev ebody -> (trace "X" (T_Branch (trace "X" ((trace "X" ((expr2antecedent0 (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (tv)) (trace "X" (lev))))) (trace "X" (ev))))))) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (v)) (trace "X" (([])))))) (trace "X" ((trace "X" ((expr2antecedent0 (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" (((:) (trace "X" (((,) (trace "X" (v)) (trace "X" (tv))))) (trace "X" (([]))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (lev))))) (trace "X" (ebody))))))))))))));
EEsc __U0393_0 __U0394_0 __U03be_0 ec t lev e -> (trace "X" ((trace "X" (expr2antecedent0 (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (haskBrak (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (t))))))))) (trace "X" (lev))))) (trace "X" (e))))));
EBrak __U0393_0 __U0394_0 __U03be_0 ec t lev e -> (trace "X" ((trace "X" (expr2antecedent0 (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev)))))))) (trace "X" (e))))));
ECast __U0393_0 __U0394_0 __U03be_0 __U03b3_ t1 lev e -> (trace "X" ((trace "X" (expr2antecedent0 (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (__U03b3_)) (trace "X" (lev))))) (trace "X" (e))))));
Prelude.Nothing -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))))}));
T_Branch b1 b2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((varsfromalts (trace "X" (b1))))))) (trace "X" ((trace "X" ((varsfromalts (trace "X" (b2)))))))))}))}
in varsfromalts (trace "X" (alts))))))) (trace "X" ((trace "X" ((expr2antecedent0 (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (caseType (trace "X" (__U0393_0)) (trace "X" (tc)) (trace "X" (atypes))))))))) (trace "X" (l))))) (trace "X" (e')))))))));
- ELetRec __U0393_0 __U0394_0 __U03be_0 l __U03c4_ vars x x0 -> (trace "X" (let {__U03be_'0 = (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" ((trace "X" ((leaves (trace "X" (vars)))))))))))} in (trace "X" (let {branch_context = (trace "X" ((trace "X" (eLetRecContext0 (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_'0)) (trace "X" (l)) (trace "X" (vars)) (trace "X" (x))))))} in (trace "X" (let {all_contexts = (trace "X" (T_Branch (trace "X" ((trace "X" ((expr2antecedent0 (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_'0)) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (l))))) (trace "X" (x0))))))) (trace "X" (branch_context))))} in (trace "X" ((trace "X" (stripOutVars (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((leaves (trace "X" ((trace "X" ((mapOptionTree (trace "X" (fst)) (trace "X" (vars)))))))))))) (trace "X" (all_contexts))))))))))))}));
+ ELetRec __U0393_0 __U0394_0 __U03be_0 l __U03c4_ vars x x0 -> (trace "X" (let {__U03be_'0 = (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" ((trace "X" ((leaves (trace "X" (vars)))))))))))} in (trace "X" (let {branch_context = (trace "X" ((trace "X" (eLetRecContext0 (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_'0)) (trace "X" (l)) (trace "X" (vars)) (trace "X" (x))))))} in (trace "X" (let {all_contexts = (trace "X" (T_Branch (trace "X" (branch_context)) (trace "X" ((trace "X" ((expr2antecedent0 (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_'0)) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (l))))) (trace "X" (x0)))))))))} in (trace "X" ((trace "X" (stripOutVars (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((leaves (trace "X" ((trace "X" ((mapOptionTree (trace "X" (fst)) (trace "X" (vars)))))))))))) (trace "X" (all_contexts))))))))))))}));
eLetRecContext0 __U0393_0 __U0394_0 __U03be_0 lev tree elrb =
(trace "X" (case (trace "X" (elrb)) of {
ELR_nil __U0393_1 __U0394_1 __U03be_1 lev0 -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))));
(trace "X" (case (trace "X" (alt)) of {
ExistT x s -> (trace "X" (ExistT (trace "X" (x)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (x))))))) (trace "X" ((trace "X" ((scbwv_exprvars (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (x)) (trace "X" ((trace "X" ((projT1 (trace "X" (s))))))))))))))))) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((sac___U0393_ (trace "X" (tc)) (trace "X" (x)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((sac___U0394_ (trace "X" (tc)) (trace "X" (x)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" ((trace "X" ((weakCK'' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (x))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (x)))))))))))) (trace "X" (__U0394_0)))))))))))) (trace "X" ((trace "X" ((scbwv___U03be_ (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (x)) (trace "X" ((trace "X" ((projT1 (trace "X" (s))))))) (trace "X" (__U03be_0)) (trace "X" (l))))))) (trace "X" ((trace "X" ((weakLT' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (x))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (x)))))))))))) (trace "X" (KindStar)) (trace "X" ((MkLeveledHaskType (trace "X" (tbranches)) (trace "X" (l)))))))))) (trace "X" ((trace "X" ((projT2 (trace "X" (s))))))))))))))))))))))))}))
-arrangeContext :: (EqDecidable a1) -> TypeEnv -> CoercionEnv -> a1 -> (Tree (Prelude.Maybe a1)) -> (a1 -> LeveledHaskType) -> Prelude.Either (Arrange LeveledHaskType) (Arrange LeveledHaskType)
-arrangeContext eqd_vv __U0393_0 __U0394_0 v ctx __U03be_0 =
+factorContextLeft :: (EqDecidable a1) -> TypeEnv -> CoercionEnv -> a1 -> (Tree (Prelude.Maybe a1)) -> (a1 -> LeveledHaskType) -> Prelude.Either (Arrange LeveledHaskType) (Arrange LeveledHaskType)
+factorContextLeft eqd_vv __U0393_0 __U0394_0 v ctx __U03be_0 =
+ (trace "X" ((trace "X" (tree_rect (trace "X" ((\a ->
+ (trace "X" (case (trace "X" (a)) of {
+ Prelude.Just v' ->
+ (trace "X" (let {s = (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (v')) (trace "X" (v))))))} in
+ (trace "X" (case (trace "X" (s)) of {
+ Prelude.True -> (trace "X" ((trace "X" (eq_rect_r (trace "X" (v)) (trace "X" ((Prelude.Right (trace "X" ((RuCanR (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((__U03be_0 (trace "X" (v))))))))))))))))))) (trace "X" (v'))))));
+ Prelude.False -> (trace "X" (Prelude.Left (trace "X" ((RuCanL (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((__U03be_0 (trace "X" (v'))))))))))))))))))}))));
+ Prelude.Nothing -> (trace "X" (Prelude.Left (trace "X" ((RuCanR (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))}))))) (trace "X" ((\ctx1 iHctx1 ctx2 iHctx2 ->
+ (trace "X" (case (trace "X" (iHctx1)) of {
+ Prelude.Left lpf ->
+ (trace "X" (case (trace "X" (iHctx2)) of {
+ Prelude.Left rpf -> (trace "X" (Prelude.Left (trace "X" ((RComp (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (ctx1))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (ctx2)))))))))) (trace "X" ((T_Branch
+ (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
+ (trace "X" ((trace "X" ((mapOptionTree' (trace "X" ((\v0 ->
+ (trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (v0)) (trace "X" (v)))))) of {
+ Prelude.True -> (trace "X" (Prelude.Nothing));
+ Prelude.False -> (trace "X" (Prelude.Just (trace "X" (v0))))}))))) (trace "X" (ctx1))))))))))))
+ (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
+ (trace "X" ((trace "X" ((mapOptionTree' (trace "X" ((\v0 ->
+ (trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (v0)) (trace "X" (v)))))) of {
+ Prelude.True -> (trace "X" (Prelude.Nothing));
+ Prelude.False -> (trace "X" (Prelude.Just (trace "X" (v0))))}))))) (trace "X" (ctx2))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch
+ (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
+ (trace "X" ((trace "X" ((mapOptionTree' (trace "X" ((\v0 ->
+ (trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (v0)) (trace "X" (v)))))) of {
+ Prelude.True -> (trace "X" (Prelude.Nothing));
+ Prelude.False -> (trace "X" (Prelude.Just (trace "X" (v0))))}))))) (trace "X" (ctx1))))))))))))
+ (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
+ (trace "X" ((trace "X" ((mapOptionTree' (trace "X" ((\v0 ->
+ (trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (v0)) (trace "X" (v)))))) of {
+ Prelude.True -> (trace "X" (Prelude.Nothing));
+ Prelude.False -> (trace "X" (Prelude.Just (trace "X" (v0))))}))))) (trace "X" (ctx2)))))))))))))))))) (trace "X" ((RComp (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (ctx1))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (ctx2)))))))))) (trace "X" ((T_Branch
+ (trace "X" ((trace "X" ((let {
+ mapOptionTree0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf o ->
+ (trace "X" (case (trace "X" (o)) of {
+ Prelude.Just x -> (trace "X" (T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((f (trace "X" (x))))))))))));
+ Prelude.Nothing -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))))}));
+ T_Branch l r -> (trace "X" (T_Branch (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (l))))))) (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (r)))))))))}))}
+ in mapOptionTree0 (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (v)) (trace "X" (([])))))) (trace "X" (ctx1)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (ctx2)))))))))) (trace "X" ((T_Branch
+ (trace "X" ((trace "X" ((let {
+ mapOptionTree0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf o ->
+ (trace "X" (case (trace "X" (o)) of {
+ Prelude.Just x -> (trace "X" (T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((f (trace "X" (x))))))))))));
+ Prelude.Nothing -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))))}));
+ T_Branch l r -> (trace "X" (T_Branch (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (l))))))) (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (r)))))))))}))}
+ in mapOptionTree0 (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (v)) (trace "X" (([])))))) (trace "X" (ctx1))))))))))))
+ (trace "X" ((trace "X" ((let {
+ mapOptionTree0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf o ->
+ (trace "X" (case (trace "X" (o)) of {
+ Prelude.Just x -> (trace "X" (T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((f (trace "X" (x))))))))))));
+ Prelude.Nothing -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))))}));
+ T_Branch l r -> (trace "X" (T_Branch (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (l))))))) (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (r)))))))))}))}
+ in mapOptionTree0 (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (v)) (trace "X" (([])))))) (trace "X" (ctx2))))))))))))))) (trace "X" ((RRight (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (ctx1)))))))
+ (trace "X" ((trace "X" ((let {
+ mapOptionTree0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf o ->
+ (trace "X" (case (trace "X" (o)) of {
+ Prelude.Just x -> (trace "X" (T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((f (trace "X" (x))))))))))));
+ Prelude.Nothing -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))))}));
+ T_Branch l r -> (trace "X" (T_Branch (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (l))))))) (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (r)))))))))}))}
+ in mapOptionTree0 (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (v)) (trace "X" (([])))))) (trace "X" (ctx1)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (ctx2))))))) (trace "X" ((RComp (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (ctx1))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (v)) (trace "X" (([])))))) (trace "X" (ctx1)))))))))))))))
+ (trace "X" ((trace "X" ((let {
+ mapOptionTree0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf o ->
+ (trace "X" (case (trace "X" (o)) of {
+ Prelude.Just x -> (trace "X" (T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((f (trace "X" (x))))))))))));
+ Prelude.Nothing -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))))}));
+ T_Branch l r -> (trace "X" (T_Branch (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (l))))))) (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (r)))))))))}))}
+ in mapOptionTree0 (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (v)) (trace "X" (([])))))) (trace "X" (ctx1)))))))))))) (trace "X" (lpf)) (trace "X" ((RCanL
+ (trace "X" ((trace "X" ((let {
+ mapOptionTree0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf o ->
+ (trace "X" (case (trace "X" (o)) of {
+ Prelude.Just x -> (trace "X" (T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((f (trace "X" (x))))))))))));
+ Prelude.Nothing -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))))}));
+ T_Branch l r -> (trace "X" (T_Branch (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (l))))))) (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (r)))))))))}))}
+ in mapOptionTree0 (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (v)) (trace "X" (([])))))) (trace "X" (ctx1))))))))))))))))))))) (trace "X" ((RLeft (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (ctx2)))))))
+ (trace "X" ((trace "X" ((let {
+ mapOptionTree0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf o ->
+ (trace "X" (case (trace "X" (o)) of {
+ Prelude.Just x -> (trace "X" (T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((f (trace "X" (x))))))))))));
+ Prelude.Nothing -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))))}));
+ T_Branch l r -> (trace "X" (T_Branch (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (l))))))) (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (r)))))))))}))}
+ in mapOptionTree0 (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (v)) (trace "X" (([])))))) (trace "X" (ctx2))))))))))))
+ (trace "X" ((trace "X" ((let {
+ mapOptionTree0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf o ->
+ (trace "X" (case (trace "X" (o)) of {
+ Prelude.Just x -> (trace "X" (T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((f (trace "X" (x))))))))))));
+ Prelude.Nothing -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))))}));
+ T_Branch l r -> (trace "X" (T_Branch (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (l))))))) (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (r)))))))))}))}
+ in mapOptionTree0 (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (v)) (trace "X" (([])))))) (trace "X" (ctx1)))))))))))) (trace "X" ((RComp (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (ctx2))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (v)) (trace "X" (([])))))) (trace "X" (ctx2)))))))))))))))
+ (trace "X" ((trace "X" ((let {
+ mapOptionTree0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf o ->
+ (trace "X" (case (trace "X" (o)) of {
+ Prelude.Just x -> (trace "X" (T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((f (trace "X" (x))))))))))));
+ Prelude.Nothing -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))))}));
+ T_Branch l r -> (trace "X" (T_Branch (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (l))))))) (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (r)))))))))}))}
+ in mapOptionTree0 (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (v)) (trace "X" (([])))))) (trace "X" (ctx2)))))))))))) (trace "X" (rpf)) (trace "X" ((RCanL
+ (trace "X" ((trace "X" ((let {
+ mapOptionTree0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf o ->
+ (trace "X" (case (trace "X" (o)) of {
+ Prelude.Just x -> (trace "X" (T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((f (trace "X" (x))))))))))));
+ Prelude.Nothing -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))))}));
+ T_Branch l r -> (trace "X" (T_Branch (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (l))))))) (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (r)))))))))}))}
+ in mapOptionTree0 (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (v)) (trace "X" (([])))))) (trace "X" (ctx2)))))))))))))))))))))))) (trace "X" ((RuCanL (trace "X" ((T_Branch
+ (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
+ (trace "X" ((trace "X" ((mapOptionTree' (trace "X" ((\v0 ->
+ (trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (v0)) (trace "X" (v)))))) of {
+ Prelude.True -> (trace "X" (Prelude.Nothing));
+ Prelude.False -> (trace "X" (Prelude.Just (trace "X" (v0))))}))))) (trace "X" (ctx1))))))))))))
+ (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
+ (trace "X" ((trace "X" ((mapOptionTree' (trace "X" ((\v0 ->
+ (trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (v0)) (trace "X" (v)))))) of {
+ Prelude.True -> (trace "X" (Prelude.Nothing));
+ Prelude.False -> (trace "X" (Prelude.Just (trace "X" (v0))))}))))) (trace "X" (ctx2)))))))))))))))))))))));
+ Prelude.Right rpf -> (trace "X" (Prelude.Right (trace "X" ((RComp (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (ctx1))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (ctx2)))))))))) (trace "X" ((T_Branch
+ (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
+ (trace "X" ((trace "X" ((mapOptionTree' (trace "X" ((\v0 ->
+ (trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (v0)) (trace "X" (v)))))) of {
+ Prelude.True -> (trace "X" (Prelude.Nothing));
+ Prelude.False -> (trace "X" (Prelude.Just (trace "X" (v0))))}))))) (trace "X" (ctx1)))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((__U03be_0 (trace "X" (v)))))))))))))
+ (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
+ (trace "X" ((trace "X" ((mapOptionTree' (trace "X" ((\v0 ->
+ (trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (v0)) (trace "X" (v)))))) of {
+ Prelude.True -> (trace "X" (Prelude.Nothing));
+ Prelude.False -> (trace "X" (Prelude.Just (trace "X" (v0))))}))))) (trace "X" (ctx2)))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((__U03be_0 (trace "X" (v))))))))))))) (trace "X" ((T_Branch
+ (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
+ (trace "X" ((trace "X" ((mapOptionTree' (trace "X" ((\v0 ->
+ (trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (v0)) (trace "X" (v)))))) of {
+ Prelude.True -> (trace "X" (Prelude.Nothing));
+ Prelude.False -> (trace "X" (Prelude.Just (trace "X" (v0))))}))))) (trace "X" (ctx1))))))))))))
+ (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
+ (trace "X" ((trace "X" ((mapOptionTree' (trace "X" ((\v0 ->
+ (trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (v0)) (trace "X" (v)))))) of {
+ Prelude.True -> (trace "X" (Prelude.Nothing));
+ Prelude.False -> (trace "X" (Prelude.Just (trace "X" (v0))))}))))) (trace "X" (ctx2)))))))))))))))))) (trace "X" ((RComp (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (ctx1))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (ctx2)))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (v)) (trace "X" (([])))))) (trace "X" (ctx1)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (ctx2)))))))))) (trace "X" ((T_Branch
+ (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
+ (trace "X" ((trace "X" ((mapOptionTree' (trace "X" ((\v0 ->
+ (trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (v0)) (trace "X" (v)))))) of {
+ Prelude.True -> (trace "X" (Prelude.Nothing));
+ Prelude.False -> (trace "X" (Prelude.Just (trace "X" (v0))))}))))) (trace "X" (ctx1)))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((__U03be_0 (trace "X" (v)))))))))))))
+ (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
+ (trace "X" ((trace "X" ((mapOptionTree' (trace "X" ((\v0 ->
+ (trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (v0)) (trace "X" (v)))))) of {
+ Prelude.True -> (trace "X" (Prelude.Nothing));
+ Prelude.False -> (trace "X" (Prelude.Just (trace "X" (v0))))}))))) (trace "X" (ctx2)))))))))))))))))) (trace "X" ((RRight (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (ctx1))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (v)) (trace "X" (([])))))) (trace "X" (ctx1)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (ctx2))))))) (trace "X" ((RComp (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (ctx1))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (v)) (trace "X" (([])))))) (trace "X" (ctx1))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (v)) (trace "X" (([])))))) (trace "X" (ctx1)))))))))))) (trace "X" (lpf)) (trace "X" ((RCanL (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (v)) (trace "X" (([])))))) (trace "X" (ctx1))))))))))))))))))))) (trace "X" ((RLeft (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (ctx2))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((__U03be_0 (trace "X" (v)))))))))))))
+ (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
+ (trace "X" ((trace "X" ((mapOptionTree' (trace "X" ((\v0 ->
+ (trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (v0)) (trace "X" (v)))))) of {
+ Prelude.True -> (trace "X" (Prelude.Nothing));
+ Prelude.False -> (trace "X" (Prelude.Just (trace "X" (v0))))}))))) (trace "X" (ctx2)))))))))))))))
+ (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
+ (trace "X" ((trace "X" ((mapOptionTree' (trace "X" ((\v0 ->
+ (trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (v0)) (trace "X" (v)))))) of {
+ Prelude.True -> (trace "X" (Prelude.Nothing));
+ Prelude.False -> (trace "X" (Prelude.Just (trace "X" (v0))))}))))) (trace "X" (ctx1)))))))))))) (trace "X" (rpf))))))))
+ (trace "X" ((trace "X" ((pivotContext'
+ (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
+ (trace "X" ((trace "X" ((mapOptionTree' (trace "X" ((\v0 ->
+ (trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (v0)) (trace "X" (v)))))) of {
+ Prelude.True -> (trace "X" (Prelude.Nothing));
+ Prelude.False -> (trace "X" (Prelude.Just (trace "X" (v0))))}))))) (trace "X" (ctx1)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((__U03be_0 (trace "X" (v)))))))))))))
+ (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
+ (trace "X" ((trace "X" ((mapOptionTree' (trace "X" ((\v0 ->
+ (trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (v0)) (trace "X" (v)))))) of {
+ Prelude.True -> (trace "X" (Prelude.Nothing));
+ Prelude.False -> (trace "X" (Prelude.Just (trace "X" (v0))))}))))) (trace "X" (ctx2))))))))))))))))))))))}));
+ Prelude.Right lpf ->
+ (trace "X" (case (trace "X" (iHctx2)) of {
+ Prelude.Left rpf -> (trace "X" (Prelude.Right (trace "X" ((RComp (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (ctx1))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (ctx2)))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (ctx1))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (v)) (trace "X" (([])))))) (trace "X" (ctx2))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((__U03be_0 (trace "X" (v))))))))))))) (trace "X" ((T_Branch
+ (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
+ (trace "X" ((trace "X" ((mapOptionTree' (trace "X" ((\v0 ->
+ (trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (v0)) (trace "X" (v)))))) of {
+ Prelude.True -> (trace "X" (Prelude.Nothing));
+ Prelude.False -> (trace "X" (Prelude.Just (trace "X" (v0))))}))))) (trace "X" (ctx1))))))))))))
+ (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
+ (trace "X" ((trace "X" ((mapOptionTree' (trace "X" ((\v0 ->
+ (trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (v0)) (trace "X" (v)))))) of {
+ Prelude.True -> (trace "X" (Prelude.Nothing));
+ Prelude.False -> (trace "X" (Prelude.Just (trace "X" (v0))))}))))) (trace "X" (ctx2)))))))))))))))))) (trace "X" ((RLeft (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (ctx2))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (v)) (trace "X" (([])))))) (trace "X" (ctx2)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (ctx1))))))) (trace "X" ((RComp (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (ctx2))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (v)) (trace "X" (([])))))) (trace "X" (ctx2))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (v)) (trace "X" (([])))))) (trace "X" (ctx2)))))))))))) (trace "X" (rpf)) (trace "X" ((RCanL (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (v)) (trace "X" (([])))))) (trace "X" (ctx2))))))))))))))))))))) (trace "X" ((RComp (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (ctx1))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (v)) (trace "X" (([])))))) (trace "X" (ctx2))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((__U03be_0 (trace "X" (v)))))))))))))
+ (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
+ (trace "X" ((trace "X" ((mapOptionTree' (trace "X" ((\v0 ->
+ (trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (v0)) (trace "X" (v)))))) of {
+ Prelude.True -> (trace "X" (Prelude.Nothing));
+ Prelude.False -> (trace "X" (Prelude.Just (trace "X" (v0))))}))))) (trace "X" (ctx1)))))))))))))))
+ (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
+ (trace "X" ((trace "X" ((mapOptionTree' (trace "X" ((\v0 ->
+ (trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (v0)) (trace "X" (v)))))) of {
+ Prelude.True -> (trace "X" (Prelude.Nothing));
+ Prelude.False -> (trace "X" (Prelude.Just (trace "X" (v0))))}))))) (trace "X" (ctx2))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((__U03be_0 (trace "X" (v))))))))))))) (trace "X" ((T_Branch
+ (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
+ (trace "X" ((trace "X" ((mapOptionTree' (trace "X" ((\v0 ->
+ (trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (v0)) (trace "X" (v)))))) of {
+ Prelude.True -> (trace "X" (Prelude.Nothing));
+ Prelude.False -> (trace "X" (Prelude.Just (trace "X" (v0))))}))))) (trace "X" (ctx1))))))))))))
+ (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
+ (trace "X" ((trace "X" ((mapOptionTree' (trace "X" ((\v0 ->
+ (trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (v0)) (trace "X" (v)))))) of {
+ Prelude.True -> (trace "X" (Prelude.Nothing));
+ Prelude.False -> (trace "X" (Prelude.Just (trace "X" (v0))))}))))) (trace "X" (ctx2)))))))))))))))))) (trace "X" ((RRight (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (ctx1))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((__U03be_0 (trace "X" (v)))))))))))))
+ (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
+ (trace "X" ((trace "X" ((mapOptionTree' (trace "X" ((\v0 ->
+ (trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (v0)) (trace "X" (v)))))) of {
+ Prelude.True -> (trace "X" (Prelude.Nothing));
+ Prelude.False -> (trace "X" (Prelude.Just (trace "X" (v0))))}))))) (trace "X" (ctx1)))))))))))))))
+ (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
+ (trace "X" ((trace "X" ((mapOptionTree' (trace "X" ((\v0 ->
+ (trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (v0)) (trace "X" (v)))))) of {
+ Prelude.True -> (trace "X" (Prelude.Nothing));
+ Prelude.False -> (trace "X" (Prelude.Just (trace "X" (v0))))}))))) (trace "X" (ctx2)))))))))))) (trace "X" (lpf))))) (trace "X" ((RCossa (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((__U03be_0 (trace "X" (v)))))))))))))
+ (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
+ (trace "X" ((trace "X" ((mapOptionTree' (trace "X" ((\v0 ->
+ (trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (v0)) (trace "X" (v)))))) of {
+ Prelude.True -> (trace "X" (Prelude.Nothing));
+ Prelude.False -> (trace "X" (Prelude.Just (trace "X" (v0))))}))))) (trace "X" (ctx1))))))))))))
+ (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
+ (trace "X" ((trace "X" ((mapOptionTree' (trace "X" ((\v0 ->
+ (trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (v0)) (trace "X" (v)))))) of {
+ Prelude.True -> (trace "X" (Prelude.Nothing));
+ Prelude.False -> (trace "X" (Prelude.Just (trace "X" (v0))))}))))) (trace "X" (ctx2)))))))))))))))))))))));
+ Prelude.Right rpf -> (trace "X" (Prelude.Right (trace "X" ((RComp (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (ctx1))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (ctx2)))))))))) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((__U03be_0 (trace "X" (v))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((__U03be_0 (trace "X" (v)))))))))))))))) (trace "X" ((T_Branch
+ (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
+ (trace "X" ((trace "X" ((mapOptionTree' (trace "X" ((\v0 ->
+ (trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (v0)) (trace "X" (v)))))) of {
+ Prelude.True -> (trace "X" (Prelude.Nothing));
+ Prelude.False -> (trace "X" (Prelude.Just (trace "X" (v0))))}))))) (trace "X" (ctx1))))))))))))
+ (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
+ (trace "X" ((trace "X" ((mapOptionTree' (trace "X" ((\v0 ->
+ (trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (v0)) (trace "X" (v)))))) of {
+ Prelude.True -> (trace "X" (Prelude.Nothing));
+ Prelude.False -> (trace "X" (Prelude.Just (trace "X" (v0))))}))))) (trace "X" (ctx2)))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((__U03be_0 (trace "X" (v))))))))))))) (trace "X" ((T_Branch
+ (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
+ (trace "X" ((trace "X" ((mapOptionTree' (trace "X" ((\v0 ->
+ (trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (v0)) (trace "X" (v)))))) of {
+ Prelude.True -> (trace "X" (Prelude.Nothing));
+ Prelude.False -> (trace "X" (Prelude.Just (trace "X" (v0))))}))))) (trace "X" (ctx1))))))))))))
+ (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
+ (trace "X" ((trace "X" ((mapOptionTree' (trace "X" ((\v0 ->
+ (trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (v0)) (trace "X" (v)))))) of {
+ Prelude.True -> (trace "X" (Prelude.Nothing));
+ Prelude.False -> (trace "X" (Prelude.Just (trace "X" (v0))))}))))) (trace "X" (ctx2)))))))))))))))))) (trace "X" ((RComp (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (ctx1))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (ctx2)))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" (v)))))))) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (v)) (trace "X" (([])))))) (trace "X" (ctx1))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (ctx2)))))))))) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((__U03be_0 (trace "X" (v))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((__U03be_0 (trace "X" (v)))))))))))))))) (trace "X" ((T_Branch
+ (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
+ (trace "X" ((trace "X" ((mapOptionTree' (trace "X" ((\v0 ->
+ (trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (v0)) (trace "X" (v)))))) of {
+ Prelude.True -> (trace "X" (Prelude.Nothing));
+ Prelude.False -> (trace "X" (Prelude.Just (trace "X" (v0))))}))))) (trace "X" (ctx1))))))))))))
+ (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
+ (trace "X" ((trace "X" ((mapOptionTree' (trace "X" ((\v0 ->
+ (trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (v0)) (trace "X" (v)))))) of {
+ Prelude.True -> (trace "X" (Prelude.Nothing));
+ Prelude.False -> (trace "X" (Prelude.Just (trace "X" (v0))))}))))) (trace "X" (ctx2)))))))))))))))))) (trace "X" ((RRight (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (ctx1))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" (v)))))))) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (v)) (trace "X" (([])))))) (trace "X" (ctx1))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (ctx2))))))) (trace "X" (lpf))))) (trace "X" ((RComp (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" (v)))))))) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (v)) (trace "X" (([])))))) (trace "X" (ctx1))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (ctx2)))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" (v)))))))) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (v)) (trace "X" (([])))))) (trace "X" (ctx1))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" (v)))))))) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (v)) (trace "X" (([])))))) (trace "X" (ctx2)))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((__U03be_0 (trace "X" (v))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((__U03be_0 (trace "X" (v)))))))))))))))) (trace "X" ((T_Branch
+ (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
+ (trace "X" ((trace "X" ((mapOptionTree' (trace "X" ((\v0 ->
+ (trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (v0)) (trace "X" (v)))))) of {
+ Prelude.True -> (trace "X" (Prelude.Nothing));
+ Prelude.False -> (trace "X" (Prelude.Just (trace "X" (v0))))}))))) (trace "X" (ctx1))))))))))))
+ (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
+ (trace "X" ((trace "X" ((mapOptionTree' (trace "X" ((\v0 ->
+ (trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (v0)) (trace "X" (v)))))) of {
+ Prelude.True -> (trace "X" (Prelude.Nothing));
+ Prelude.False -> (trace "X" (Prelude.Just (trace "X" (v0))))}))))) (trace "X" (ctx2)))))))))))))))))) (trace "X" ((RLeft (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (ctx2))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" (v)))))))) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (v)) (trace "X" (([])))))) (trace "X" (ctx2))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" (v)))))))) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (v)) (trace "X" (([])))))) (trace "X" (ctx1))))))))))))))) (trace "X" (rpf)))))
+ (trace "X" ((trace "X" ((arrangeSwapMiddle (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((__U03be_0 (trace "X" (v)))))))))))))
+ (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
+ (trace "X" ((trace "X" ((mapOptionTree' (trace "X" ((\v0 ->
+ (trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (v0)) (trace "X" (v)))))) of {
+ Prelude.True -> (trace "X" (Prelude.Nothing));
+ Prelude.False -> (trace "X" (Prelude.Just (trace "X" (v0))))}))))) (trace "X" (ctx1)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((__U03be_0 (trace "X" (v)))))))))))))
+ (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
+ (trace "X" ((trace "X" ((mapOptionTree' (trace "X" ((\v0 ->
+ (trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (v0)) (trace "X" (v)))))) of {
+ Prelude.True -> (trace "X" (Prelude.Nothing));
+ Prelude.False -> (trace "X" (Prelude.Just (trace "X" (v0))))}))))) (trace "X" (ctx2))))))))))))))))))))))) (trace "X" ((RRight (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((__U03be_0 (trace "X" (v))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((__U03be_0 (trace "X" (v)))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((__U03be_0 (trace "X" (v))))))))))))) (trace "X" ((T_Branch
+ (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
+ (trace "X" ((trace "X" ((mapOptionTree' (trace "X" ((\v0 ->
+ (trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (v0)) (trace "X" (v)))))) of {
+ Prelude.True -> (trace "X" (Prelude.Nothing));
+ Prelude.False -> (trace "X" (Prelude.Just (trace "X" (v0))))}))))) (trace "X" (ctx1))))))))))))
+ (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
+ (trace "X" ((trace "X" ((mapOptionTree' (trace "X" ((\v0 ->
+ (trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (v0)) (trace "X" (v)))))) of {
+ Prelude.True -> (trace "X" (Prelude.Nothing));
+ Prelude.False -> (trace "X" (Prelude.Just (trace "X" (v0))))}))))) (trace "X" (ctx2))))))))))))))) (trace "X" ((RCont (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((__U03be_0 (trace "X" (v))))))))))))))))))))))))}))}))))) (trace "X" (ctx))))))
+
+factorContextRight :: (EqDecidable a1) -> TypeEnv -> CoercionEnv -> a1 -> (Tree (Prelude.Maybe a1)) -> (a1 -> LeveledHaskType) -> Prelude.Either (Arrange LeveledHaskType) (Arrange LeveledHaskType)
+factorContextRight eqd_vv __U0393_0 __U0394_0 v ctx __U03be_0 =
(trace "X" ((trace "X" (tree_rect (trace "X" ((\a ->
(trace "X" (case (trace "X" (a)) of {
Prelude.Just v' ->
Prelude.True -> (trace "X" (Prelude.Nothing));
Prelude.False -> (trace "X" (Prelude.Just (trace "X" (v0))))}))))) (trace "X" (ctx2))))))))))))))))))))))}))}))))) (trace "X" (ctx))))))
-arrangeContextAndWeaken :: (EqDecidable a1) -> TypeEnv -> CoercionEnv -> a1 -> (Tree (Prelude.Maybe a1)) -> (a1 -> LeveledHaskType) -> Arrange LeveledHaskType
-arrangeContextAndWeaken eqd_vv __U0393_0 __U0394_0 v ctx __U03be_0 =
- (trace "X" (let {q = (trace "X" ((trace "X" (arrangeContext (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (v)) (trace "X" (ctx)) (trace "X" (__U03be_0))))))} in
+factorContextLeftAndWeaken :: (EqDecidable a1) -> TypeEnv -> CoercionEnv -> a1 -> (Tree (Prelude.Maybe a1)) -> (a1 -> LeveledHaskType) -> Arrange LeveledHaskType
+factorContextLeftAndWeaken eqd_vv __U0393_0 __U0394_0 v ctx __U03be_0 =
+ (trace "X" (let {q = (trace "X" ((trace "X" (factorContextLeft (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (v)) (trace "X" (ctx)) (trace "X" (__U03be_0))))))} in
+ (trace "X" (case (trace "X" (q)) of {
+ Prelude.Left a -> (trace "X" (RComp (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (ctx))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (v)) (trace "X" (([])))))) (trace "X" (ctx))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" (v)))))))) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (v)) (trace "X" (([])))))) (trace "X" (ctx))))))))))))))) (trace "X" (a)) (trace "X" ((RRight (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((__U03be_0 (trace "X" (v)))))))))))))
+ (trace "X" ((trace "X" ((let {
+ mapOptionTree0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf o ->
+ (trace "X" (case (trace "X" (o)) of {
+ Prelude.Just x -> (trace "X" (T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((f (trace "X" (x))))))))))));
+ Prelude.Nothing -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))))}));
+ T_Branch l r -> (trace "X" (T_Branch (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (l))))))) (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (r)))))))))}))}
+ in mapOptionTree0 (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (v)) (trace "X" (([])))))) (trace "X" (ctx)))))))))))) (trace "X" ((RWeak (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((__U03be_0 (trace "X" (v)))))))))))))))))))));
+ Prelude.Right a -> (trace "X" (a))}))))
+
+factorContextRightAndWeaken :: (EqDecidable a1) -> TypeEnv -> CoercionEnv -> a1 -> (Tree (Prelude.Maybe a1)) -> (a1 -> LeveledHaskType) -> Arrange LeveledHaskType
+factorContextRightAndWeaken eqd_vv __U0393_0 __U0394_0 v ctx __U03be_0 =
+ (trace "X" (let {q = (trace "X" ((trace "X" (factorContextRight (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (v)) (trace "X" (ctx)) (trace "X" (__U03be_0))))))} in
(trace "X" (case (trace "X" (q)) of {
Prelude.Left a -> (trace "X" (RComp (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (ctx))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (v)) (trace "X" (([])))))) (trace "X" (ctx)))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (v)) (trace "X" (([])))))) (trace "X" (ctx))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" (v)))))))))))))))) (trace "X" (a)) (trace "X" ((RLeft (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((__U03be_0 (trace "X" (v))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (v)) (trace "X" (([])))))) (trace "X" (ctx)))))))))))) (trace "X" ((RWeak (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((__U03be_0 (trace "X" (v)))))))))))))))))))));
Prelude.Right a -> (trace "X" (a))}))))
-arrangeContextAndWeaken'' :: (EqDecidable a1) -> TypeEnv -> CoercionEnv -> (Tree (Prelude.Maybe a1)) -> (a1 -> LeveledHaskType) -> (Tree (Prelude.Maybe a1)) -> Arrange LeveledHaskType
-arrangeContextAndWeaken'' eqd_vv __U0393_0 __U0394_0 v __U03be_0 ctx =
+factorContextRightAndWeaken'' :: (EqDecidable a1) -> TypeEnv -> CoercionEnv -> (Tree (Prelude.Maybe a1)) -> (a1 -> LeveledHaskType) -> (Tree (Prelude.Maybe a1)) -> Arrange LeveledHaskType
+factorContextRightAndWeaken'' eqd_vv __U0393_0 __U0394_0 v __U03be_0 ctx =
(trace "X" ((trace "X" (tree_rect (trace "X" ((\a ctx0 _ ->
(trace "X" (case (trace "X" (a)) of {
- Prelude.Just v0 -> (trace "X" ((trace "X" (arrangeContextAndWeaken (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (v0)) (trace "X" (ctx0)) (trace "X" (__U03be_0))))));
+ Prelude.Just v0 -> (trace "X" ((trace "X" (factorContextRightAndWeaken (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (v0)) (trace "X" (ctx0)) (trace "X" (__U03be_0))))));
Prelude.Nothing ->
(trace "X" ((trace "X" (eq_rect_r (trace "X" (ctx0)) (trace "X" ((RuCanR
(trace "X" ((trace "X" ((let {
letRecSubproofsToND' :: (EqDecidable a1) -> TypeEnv -> CoercionEnv -> (a1 -> LeveledHaskType) -> HaskLevel -> HaskType -> (Tree (Prelude.Maybe ((,) a1 HaskType))) -> (ELetRecBindings a1) -> (Expr a1) -> (ND Judg Rule) -> (LetRecSubproofs a1) -> ND Judg Rule
letRecSubproofsToND' eqd_vv __U0393_0 __U0394_0 __U03be_0 lev __U03c4_ tree branches body pf lrsp =
- (trace "X" (let {__U03be_' = (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))} in (trace "X" (let {pctx = (trace "X" ((trace "X" (mapOptionTree (trace "X" (fst)) (trace "X" (tree))))))} in (trace "X" (let {z = (trace "X" (\a b x -> (trace "X" (RLetRec (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (a)) (trace "X" (b)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (snd)) (trace "X" (tree))))))) (trace "X" (x))))))} in (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))) (trace "X" ((ELetRec (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" (__U03c4_)) (trace "X" (tree)) (trace "X" (branches)) (trace "X" (body))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (lev))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (snd)) (trace "X" (tree))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (lev))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" (__U03c4_)))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (snd)) (trace "X" (tree)))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))) (trace "X" ((ELetRec (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" (__U03c4_)) (trace "X" (tree)) (trace "X" (branches)) (trace "X" (body))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((let {q' = (trace "X" (\_ -> (trace "X" ((trace "X" (arrangeContextAndWeaken'' (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (pctx)) (trace "X" (__U03be_')) (trace "X" ((T_Branch (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_')) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))) (trace "X" (body))))))) (trace "X" ((trace "X" ((eLetRecContext (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_')) (trace "X" (lev)) (trace "X" (tree)) (trace "X" (branches))))))))))))))))} in (trace "X" (let {q'' = (trace "X" ((trace "X" (q' (trace "X" (__))))))} in (trace "X" (let {q''0 = (trace "X" ((trace "X" (eq_rect (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((leaves (trace "X" ((trace "X" ((mapOptionTree (trace "X" (fst)) (trace "X" (tree)))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))) (trace "X" (body))))))) (trace "X" ((trace "X" ((eLetRecContext (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" (lev)) (trace "X" (tree)) (trace "X" (branches)))))))))))))))))))) (trace "X" (q'')) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((leaves (trace "X" ((trace "X" ((mapOptionTree (trace "X" (fst)) (trace "X" (tree)))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))) (trace "X" (body))))))) (trace "X" ((trace "X" ((eLetRecContext (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" (lev)) (trace "X" (tree)) (trace "X" (branches))))))))))))))))))))))))} in (trace "X" (let {q''1 = (trace "X" ((trace "X" (eq_rect_r (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (fst)) (trace "X" (tree)))))))))))) (trace "X" (q''0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x -> (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree))))))) (trace "X" ((trace "X" ((fst (trace "X" (x)))))))))))))) (trace "X" (tree)))))))))))} in (trace "X" ((trace "X" (eq_rect (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x -> (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree))))))) (trace "X" ((trace "X" ((fst (trace "X" (x)))))))))))))) (trace "X" (tree))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))) (trace "X" (body))))))) (trace "X" ((trace "X" ((eLetRecContext (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" (lev)) (trace "X" (tree)) (trace "X" (branches))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x -> (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree))))))) (trace "X" ((trace "X" ((fst (trace "X" (x)))))))))))))) (trace "X" (tree))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((leaves (trace "X" ((trace "X" ((mapOptionTree (trace "X" (fst)) (trace "X" (tree)))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))) (trace "X" (body))))))) (trace "X" ((trace "X" ((eLetRecContext (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" (lev)) (trace "X" (tree)) (trace "X" (branches)))))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x -> (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree))))))) (trace "X" ((trace "X" ((fst (trace "X" (x)))))))))))))) (trace "X" (tree)))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x -> (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree))))))) (trace "X" ((trace "X" ((fst (trace "X" (x)))))))))))))) (trace "X" (tree))))))))))))))))))) (trace "X" ((let {q = (trace "X" ((trace "X" (letRecSubproofsToND (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" (lev)) (trace "X" (tree)) (trace "X" (branches)) (trace "X" (lrsp))))))} in (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))) (trace "X" (body)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((trace "X" ((eLetRecContext (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" (lev)) (trace "X" (tree)) (trace "X" (branches)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x -> (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree))))))) (trace "X" ((trace "X" ((fst (trace "X" (x)))))))))))))) (trace "X" (tree))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))) (trace "X" (body)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((trace "X" ((eLetRecContext (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" (lev)) (trace "X" (tree)) (trace "X" (branches))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x -> (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree))))))) (trace "X" ((trace "X" ((fst (trace "X" (x)))))))))))))) (trace "X" (tree))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))) (trace "X" (body)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((trace "X" ((eLetRecContext (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" (lev)) (trace "X" (tree)) (trace "X" (branches)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x -> (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree))))))) (trace "X" ((trace "X" ((fst (trace "X" (x)))))))))))))) (trace "X" (tree))))))))))))))))))) (trace "X" ((Nd_llecnac (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))) (trace "X" (body)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((trace "X" ((eLetRecContext (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" (lev)) (trace "X" (tree)) (trace "X" (branches)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x -> (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree))))))) (trace "X" ((trace "X" ((fst (trace "X" (x)))))))))))))) (trace "X" (tree)))))))))))))))) (trace "X" (pf)) (trace "X" ((trace "X" ((eq_rect_r (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t -> (trace "X" (MkLeveledHaskType (trace "X" (t)) (trace "X" (lev))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (snd)) (trace "X" (tree)))))))))))) (trace "X" (q)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x -> (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree))))))) (trace "X" ((trace "X" ((fst (trace "X" (x)))))))))))))) (trace "X" (tree)))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))) (trace "X" (body)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((trace "X" ((eLetRecContext (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" (lev)) (trace "X" (tree)) (trace "X" (branches)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x -> (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree))))))) (trace "X" ((trace "X" ((fst (trace "X" (x)))))))))))))) (trace "X" (tree))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))) (trace "X" (body)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((trace "X" ((eLetRecContext (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" (lev)) (trace "X" (tree)) (trace "X" (branches))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x -> (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree))))))) (trace "X" ((trace "X" ((fst (trace "X" (x)))))))))))))) (trace "X" (tree))))))))))))))))))) (trace "X" ((RJoin (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))) (trace "X" (body)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((trace "X" ((eLetRecContext (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" (lev)) (trace "X" (tree)) (trace "X" (branches)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x -> (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree))))))) (trace "X" ((trace "X" ((fst (trace "X" (x)))))))))))))) (trace "X" (tree)))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))) (trace "X" (body))))))) (trace "X" ((trace "X" ((eLetRecContext (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" (lev)) (trace "X" (tree)) (trace "X" (branches))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x -> (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree))))))) (trace "X" ((trace "X" ((fst (trace "X" (x)))))))))))))) (trace "X" (tree))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((leaves (trace "X" ((trace "X" ((mapOptionTree (trace "X" (fst)) (trace "X" (tree)))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))) (trace "X" (body))))))) (trace "X" ((trace "X" ((eLetRecContext (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" (lev)) (trace "X" (tree)) (trace "X" (branches)))))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x -> (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree))))))) (trace "X" ((trace "X" ((fst (trace "X" (x)))))))))))))) (trace "X" (tree)))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x -> (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree))))))) (trace "X" ((trace "X" ((fst (trace "X" (x)))))))))))))) (trace "X" (tree))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))) (trace "X" (body))))))) (trace "X" ((trace "X" ((eLetRecContext (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" (lev)) (trace "X" (tree)) (trace "X" (branches))))))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((leaves (trace "X" ((trace "X" ((mapOptionTree (trace "X" (fst)) (trace "X" (tree)))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))) (trace "X" (body))))))) (trace "X" ((trace "X" ((eLetRecContext (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" (lev)) (trace "X" (tree)) (trace "X" (branches)))))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x -> (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree))))))) (trace "X" ((trace "X" ((fst (trace "X" (x)))))))))))))) (trace "X" (tree)))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x -> (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree))))))) (trace "X" ((trace "X" ((fst (trace "X" (x)))))))))))))) (trace "X" (tree)))))))))) (trace "X" (q''1))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t -> (trace "X" (MkLeveledHaskType (trace "X" (t)) (trace "X" (lev))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (snd)) (trace "X" (tree))))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))) (trace "X" ((ELetRec (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" (__U03c4_)) (trace "X" (tree)) (trace "X" (branches)) (trace "X" (body))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (lev))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (snd)) (trace "X" (tree))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (lev))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" (__U03c4_)))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (snd)) (trace "X" (tree)))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))) (trace "X" ((ELetRec (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" (__U03c4_)) (trace "X" (tree)) (trace "X" (branches)) (trace "X" (body))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((trace "X" ((z (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))) (trace "X" ((ELetRec (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" (__U03c4_)) (trace "X" (tree)) (trace "X" (branches)) (trace "X" (body))))))))))))))) (trace "X" (__U03c4_)) (trace "X" (lev))))))))))))))))))
+ (trace "X" (let {__U03be_' = (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))} in (trace "X" (let {pctx = (trace "X" ((trace "X" (mapOptionTree (trace "X" (fst)) (trace "X" (tree))))))} in (trace "X" (let {z = (trace "X" (\a b x -> (trace "X" (RLetRec (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (a)) (trace "X" (b)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (snd)) (trace "X" (tree))))))) (trace "X" (x))))))} in (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))) (trace "X" ((ELetRec (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" (__U03c4_)) (trace "X" (tree)) (trace "X" (branches)) (trace "X" (body))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (lev))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (snd)) (trace "X" (tree))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (lev))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" (snd)) (trace "X" (tree))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" (__U03c4_))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))) (trace "X" ((ELetRec (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" (__U03c4_)) (trace "X" (tree)) (trace "X" (branches)) (trace "X" (body))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((let {q' = (trace "X" (\_ -> (trace "X" ((trace "X" (factorContextRightAndWeaken'' (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (pctx)) (trace "X" (__U03be_')) (trace "X" ((T_Branch (trace "X" ((trace "X" ((eLetRecContext (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_')) (trace "X" (lev)) (trace "X" (tree)) (trace "X" (branches))))))) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_')) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))) (trace "X" (body))))))))))))))))} in (trace "X" (let {q'' = (trace "X" ((trace "X" (q' (trace "X" (__))))))} in (trace "X" (let {q''0 = (trace "X" ((trace "X" (eq_rect (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((leaves (trace "X" ((trace "X" ((mapOptionTree (trace "X" (fst)) (trace "X" (tree)))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((eLetRecContext (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" (lev)) (trace "X" (tree)) (trace "X" (branches))))))) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))) (trace "X" (body)))))))))))))))))))) (trace "X" (q'')) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((leaves (trace "X" ((trace "X" ((mapOptionTree (trace "X" (fst)) (trace "X" (tree)))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((eLetRecContext (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" (lev)) (trace "X" (tree)) (trace "X" (branches))))))) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))) (trace "X" (body))))))))))))))))))))))))} in (trace "X" (let {q''1 = (trace "X" ((trace "X" (eq_rect_r (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (fst)) (trace "X" (tree)))))))))))) (trace "X" (q''0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x -> (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree))))))) (trace "X" ((trace "X" ((fst (trace "X" (x)))))))))))))) (trace "X" (tree)))))))))))} in (trace "X" ((trace "X" (eq_rect (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x -> (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree))))))) (trace "X" ((trace "X" ((fst (trace "X" (x)))))))))))))) (trace "X" (tree))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((eLetRecContext (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" (lev)) (trace "X" (tree)) (trace "X" (branches))))))) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))) (trace "X" (body))))))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x -> (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree))))))) (trace "X" ((trace "X" ((fst (trace "X" (x)))))))))))))) (trace "X" (tree))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((leaves (trace "X" ((trace "X" ((mapOptionTree (trace "X" (fst)) (trace "X" (tree)))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((eLetRecContext (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" (lev)) (trace "X" (tree)) (trace "X" (branches))))))) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))) (trace "X" (body)))))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x -> (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree))))))) (trace "X" ((trace "X" ((fst (trace "X" (x)))))))))))))) (trace "X" (tree)))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x -> (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree))))))) (trace "X" ((trace "X" ((fst (trace "X" (x)))))))))))))) (trace "X" (tree))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((let {q = (trace "X" ((trace "X" (letRecSubproofsToND (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" (lev)) (trace "X" (tree)) (trace "X" (branches)) (trace "X" (lrsp))))))} in (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((trace "X" ((eLetRecContext (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" (lev)) (trace "X" (tree)) (trace "X" (branches)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x -> (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree))))))) (trace "X" ((trace "X" ((fst (trace "X" (x)))))))))))))) (trace "X" (tree)))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))) (trace "X" (body)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((trace "X" ((eLetRecContext (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" (lev)) (trace "X" (tree)) (trace "X" (branches)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))) (trace "X" (body))))))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x -> (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree))))))) (trace "X" ((trace "X" ((fst (trace "X" (x)))))))))))))) (trace "X" (tree))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((trace "X" ((eLetRecContext (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" (lev)) (trace "X" (tree)) (trace "X" (branches)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x -> (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree))))))) (trace "X" ((trace "X" ((fst (trace "X" (x)))))))))))))) (trace "X" (tree)))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))) (trace "X" (body)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((Nd_rlecnac (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((trace "X" ((eLetRecContext (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" (lev)) (trace "X" (tree)) (trace "X" (branches)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x -> (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree))))))) (trace "X" ((trace "X" ((fst (trace "X" (x)))))))))))))) (trace "X" (tree)))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))) (trace "X" (body)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((trace "X" ((eq_rect_r (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t -> (trace "X" (MkLeveledHaskType (trace "X" (t)) (trace "X" (lev))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (snd)) (trace "X" (tree)))))))))))) (trace "X" (q)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x -> (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree))))))) (trace "X" ((trace "X" ((fst (trace "X" (x)))))))))))))) (trace "X" (tree)))))))))))) (trace "X" (pf)))))))) (trace "X" ((Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((trace "X" ((eLetRecContext (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" (lev)) (trace "X" (tree)) (trace "X" (branches)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x -> (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree))))))) (trace "X" ((trace "X" ((fst (trace "X" (x)))))))))))))) (trace "X" (tree)))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))) (trace "X" (body)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((trace "X" ((eLetRecContext (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" (lev)) (trace "X" (tree)) (trace "X" (branches)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))) (trace "X" (body))))))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x -> (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree))))))) (trace "X" ((trace "X" ((fst (trace "X" (x)))))))))))))) (trace "X" (tree))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((RJoin (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((trace "X" ((eLetRecContext (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" (lev)) (trace "X" (tree)) (trace "X" (branches)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))) (trace "X" (body)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x -> (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree))))))) (trace "X" ((trace "X" ((fst (trace "X" (x)))))))))))))) (trace "X" (tree))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev)))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((eLetRecContext (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" (lev)) (trace "X" (tree)) (trace "X" (branches))))))) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))) (trace "X" (body))))))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x -> (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree))))))) (trace "X" ((trace "X" ((fst (trace "X" (x)))))))))))))) (trace "X" (tree))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((leaves (trace "X" ((trace "X" ((mapOptionTree (trace "X" (fst)) (trace "X" (tree)))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((eLetRecContext (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" (lev)) (trace "X" (tree)) (trace "X" (branches))))))) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))) (trace "X" (body)))))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x -> (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree))))))) (trace "X" ((trace "X" ((fst (trace "X" (x)))))))))))))) (trace "X" (tree)))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x -> (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree))))))) (trace "X" ((trace "X" ((fst (trace "X" (x)))))))))))))) (trace "X" (tree))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((eLetRecContext (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" (lev)) (trace "X" (tree)) (trace "X" (branches))))))) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))) (trace "X" (body))))))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((leaves (trace "X" ((trace "X" ((mapOptionTree (trace "X" (fst)) (trace "X" (tree)))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((eLetRecContext (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" (lev)) (trace "X" (tree)) (trace "X" (branches))))))) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree)))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))) (trace "X" (body)))))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x -> (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree))))))) (trace "X" ((trace "X" ((fst (trace "X" (x)))))))))))))) (trace "X" (tree)))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x -> (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" ((trace "X" ((leaves (trace "X" (tree))))))) (trace "X" ((trace "X" ((fst (trace "X" (x)))))))))))))) (trace "X" (tree))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev)))))))))))))) (trace "X" (q''1))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t -> (trace "X" (MkLeveledHaskType (trace "X" (t)) (trace "X" (lev))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (snd)) (trace "X" (tree))))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))) (trace "X" ((ELetRec (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" (__U03c4_)) (trace "X" (tree)) (trace "X" (branches)) (trace "X" (body))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (lev))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (snd)) (trace "X" (tree))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (lev))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" (snd)) (trace "X" (tree))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" (__U03c4_))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))) (trace "X" ((ELetRec (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" (__U03c4_)) (trace "X" (tree)) (trace "X" (branches)) (trace "X" (body))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((trace "X" ((z (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c4_)) (trace "X" (lev))))) (trace "X" ((ELetRec (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" (__U03c4_)) (trace "X" (tree)) (trace "X" (branches)) (trace "X" (body))))))))))))))) (trace "X" (__U03c4_)) (trace "X" (lev))))))))))))))))))
expr2proof :: (EqDecidable a1) -> TypeEnv -> CoercionEnv -> (a1 -> LeveledHaskType) -> LeveledHaskType -> (Expr a1) -> ND Judg Rule
expr2proof eqd_vv __U0393_' __U0394_' __U03be_' __U03c4_' exp =
EVar __U0393_0 __U0394_0 __U03be_0 ev -> (trace "X" (Nd_rule (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((__U03be_0 (trace "X" (ev))))))) (trace "X" ((EVar (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (ev))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((__U03be_0 (trace "X" (ev)))))))))))))))))))))) (trace "X" ((let {l = (trace "X" ((trace "X" (__U03be_0 (trace "X" (ev))))))} in (trace "X" (case (trace "X" (l)) of {
MkLeveledHaskType h h0 -> (trace "X" (RVar (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (h)) (trace "X" (h0))))})))))));
ELit __U0393_0 __U0394_0 __U03be_0 lit lev -> (trace "X" (Nd_rule (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (literalType (trace "X" (lit)) (trace "X" (__U0393_0))))))))) (trace "X" (lev))))) (trace "X" ((ELit (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (lit)) (trace "X" (lev))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (literalType (trace "X" (lit)) (trace "X" (__U0393_0))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RLit (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (lit)) (trace "X" (lev)))))));
- EApp __U0393_0 __U0394_0 __U03be_0 t1 t2 lev e1 e2 -> (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (t2)) (trace "X" (lev))))) (trace "X" (e2)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t2)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((t2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((t1 (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev))))) (trace "X" (e1)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((t2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((t1 (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (t2)) (trace "X" (lev))))) (trace "X" (e2)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((t2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((t1 (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev))))) (trace "X" (e1))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t1)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (t2)) (trace "X" (lev))))) (trace "X" (e2)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t2)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((t2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((t1 (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev))))) (trace "X" (e1)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((t2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((t1 (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((Nd_llecnac (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (t2)) (trace "X" (lev))))) (trace "X" (e2)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t2)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((t2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((t1 (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev))))) (trace "X" (e1)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((t2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((t1 (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((trace "X" ((expr2proof (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (t2)) (trace "X" (lev))))) (trace "X" (e2))))))) (trace "X" ((trace "X" ((expr2proof (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((t2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((t1 (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev))))) (trace "X" (e1))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (t2)) (trace "X" (lev))))) (trace "X" (e2)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t2)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((t2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((t1 (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev))))) (trace "X" (e1)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((t2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((t1 (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (t2)) (trace "X" (lev))))) (trace "X" (e2)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((t2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((t1 (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev))))) (trace "X" (e1))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t1)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RApp (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (t2)) (trace "X" (lev))))) (trace "X" (e2)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((t2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((t1 (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev))))) (trace "X" (e1)))))))))))) (trace "X" (t2)) (trace "X" (t1)) (trace "X" (lev))))))))));
+ EApp __U0393_0 __U0394_0 __U03be_0 t1 t2 lev e1 e2 -> (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((t2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((t1 (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev))))) (trace "X" (e1)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((t2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((t1 (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (t2)) (trace "X" (lev))))) (trace "X" (e2)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t2)) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((t2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((t1 (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev))))) (trace "X" (e1)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (t2)) (trace "X" (lev))))) (trace "X" (e2))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t1)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((t2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((t1 (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev))))) (trace "X" (e1)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((t2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((t1 (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (t2)) (trace "X" (lev))))) (trace "X" (e2)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t2)) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((Nd_llecnac (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((t2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((t1 (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev))))) (trace "X" (e1)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((t2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((t1 (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (t2)) (trace "X" (lev))))) (trace "X" (e2)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t2)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((trace "X" ((expr2proof (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((t2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((t1 (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev))))) (trace "X" (e1))))))) (trace "X" ((trace "X" ((expr2proof (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (t2)) (trace "X" (lev))))) (trace "X" (e2))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((t2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((t1 (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev))))) (trace "X" (e1)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((t2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((t1 (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (t2)) (trace "X" (lev))))) (trace "X" (e2)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t2)) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((t2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((t1 (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev))))) (trace "X" (e1)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (t2)) (trace "X" (lev))))) (trace "X" (e2))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t1)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RApp (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((t2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((t1 (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev))))) (trace "X" (e1)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (t2)) (trace "X" (lev))))) (trace "X" (e2)))))))))))) (trace "X" (t2)) (trace "X" (t1)) (trace "X" (lev))))))))));
ELam __U0393_0 __U0394_0 __U03be_0 t1 t2 lev v e -> (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch
(trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
(trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (v)) (trace "X" (([]))))))
Prelude.True -> (trace "X" (MkLeveledHaskType (trace "X" (t1)) (trace "X" (lev))));
Prelude.False -> (trace "X" ((trace "X" (__U03be_0 (trace "X" (v'))))))}))))) (trace "X" ((MkLeveledHaskType (trace "X" (t2)) (trace "X" (lev))))) (trace "X" (e))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((t1 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((t2 (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev))))))))))))))))))))
(trace "X" ((let {__U03be_'0 = (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" (((:) (trace "X" (((,) (trace "X" (v)) (trace "X" (t1))))) (trace "X" (([]))))))))))} in
- (trace "X" (let {pfx = (trace "X" ((trace "X" (arrangeContextAndWeaken (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (v)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" (((:) (trace "X" (((,) (trace "X" (v)) (trace "X" (t1))))) (trace "X" (([]))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" (t2)) (trace "X" (lev))))) (trace "X" (e))))))) (trace "X" (__U03be_'0))))))} in
+ (trace "X" (let {pfx = (trace "X" ((trace "X" (factorContextRightAndWeaken (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (v)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" (((:) (trace "X" (((,) (trace "X" (v)) (trace "X" (t1))))) (trace "X" (([]))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" (t2)) (trace "X" (lev))))) (trace "X" (e))))))) (trace "X" (__U03be_'0))))))} in
(trace "X" (let {pfx0 = (trace "X" (RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_'0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" (((:) (trace "X" (((,) (trace "X" (v)) (trace "X" (t1))))) (trace "X" (([]))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" (t2)) (trace "X" (lev))))) (trace "X" (e)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_'0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (v)) (trace "X" (([])))))) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (lev)) (trace "X" (((:) (trace "X" (((,) (trace "X" (v)) (trace "X" (t1))))) (trace "X" (([]))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" (t2)) (trace "X" (lev))))) (trace "X" (e)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" (v)))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t2)) (trace "X" (lev))))))))))) (trace "X" (pfx))))} in
(trace "X" (let {
pfx1 = (trace "X" ((trace "X" (eq_rect
(trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (v)) (trace "X" (v')))))) of {
Prelude.True -> (trace "X" (MkLeveledHaskType (trace "X" (t1)) (trace "X" (lev))));
Prelude.False -> (trace "X" ((trace "X" (__U03be_0 (trace "X" (v'))))))}))))) (trace "X" ((MkLeveledHaskType (trace "X" (t2)) (trace "X" (lev))))) (trace "X" (e))))))))))))))))) (trace "X" (t1)) (trace "X" (t2)) (trace "X" (lev))))))))));
- ELet __U0393_0 __U0394_0 __U03be_0 tv t v lev ev ebody -> (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (tv)) (trace "X" (v))))) (trace "X" (ev)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tv)) (trace "X" (v)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch
+ ELet __U0393_0 __U0394_0 __U03be_0 tv t v lev ev ebody -> (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (tv)) (trace "X" (v))))) (trace "X" (ev)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tv)) (trace "X" (v)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tv)) (trace "X" (v)))))))))))
(trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
(trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (lev)) (trace "X" (([]))))))
(trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\v' ->
(trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (lev)) (trace "X" (v')))))) of {
Prelude.True -> (trace "X" (MkLeveledHaskType (trace "X" (tv)) (trace "X" (v))));
- Prelude.False -> (trace "X" ((trace "X" (__U03be_0 (trace "X" (v'))))))}))))) (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v))))) (trace "X" (ebody))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tv)) (trace "X" (v)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch
+ Prelude.False -> (trace "X" ((trace "X" (__U03be_0 (trace "X" (v'))))))}))))) (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v))))) (trace "X" (ebody)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (tv)) (trace "X" (v))))) (trace "X" (ev))))))))))))
(trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
(trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (lev)) (trace "X" (([]))))))
(trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\v' ->
(trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (lev)) (trace "X" (v')))))) of {
Prelude.True -> (trace "X" (MkLeveledHaskType (trace "X" (tv)) (trace "X" (v))));
- Prelude.False -> (trace "X" ((trace "X" (__U03be_0 (trace "X" (v'))))))}))))) (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v))))) (trace "X" (ebody))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (tv)) (trace "X" (v))))) (trace "X" (ev))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v)))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (tv)) (trace "X" (v))))) (trace "X" (ev)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tv)) (trace "X" (v)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch
+ Prelude.False -> (trace "X" ((trace "X" (__U03be_0 (trace "X" (v'))))))}))))) (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v))))) (trace "X" (ebody)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v)))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (tv)) (trace "X" (v))))) (trace "X" (ev)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tv)) (trace "X" (v)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tv)) (trace "X" (v)))))))))))
(trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
(trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (lev)) (trace "X" (([]))))))
(trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\v' ->
(trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (lev)) (trace "X" (v')))))) of {
Prelude.True -> (trace "X" (MkLeveledHaskType (trace "X" (tv)) (trace "X" (v))));
- Prelude.False -> (trace "X" ((trace "X" (__U03be_0 (trace "X" (v'))))))}))))) (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v))))) (trace "X" (ebody))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tv)) (trace "X" (v)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v))))))))))))))))))))))) (trace "X" ((Nd_llecnac (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (tv)) (trace "X" (v))))) (trace "X" (ev)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tv)) (trace "X" (v)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch
+ Prelude.False -> (trace "X" ((trace "X" (__U03be_0 (trace "X" (v'))))))}))))) (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v))))) (trace "X" (ebody)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v))))))))))))))))))))))) (trace "X" ((Nd_rlecnac (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (tv)) (trace "X" (v))))) (trace "X" (ev)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tv)) (trace "X" (v)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tv)) (trace "X" (v)))))))))))
(trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
(trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (lev)) (trace "X" (([]))))))
(trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\v' ->
(trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (lev)) (trace "X" (v')))))) of {
Prelude.True -> (trace "X" (MkLeveledHaskType (trace "X" (tv)) (trace "X" (v))));
- Prelude.False -> (trace "X" ((trace "X" (__U03be_0 (trace "X" (v'))))))}))))) (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v))))) (trace "X" (ebody))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tv)) (trace "X" (v)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v)))))))))))))))))))) (trace "X" ((trace "X" ((expr2proof (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (tv)) (trace "X" (v))))) (trace "X" (ev))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0))
+ Prelude.False -> (trace "X" ((trace "X" (__U03be_0 (trace "X" (v'))))))}))))) (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v))))) (trace "X" (ebody)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v)))))))))))))))))))) (trace "X" ((trace "X" ((expr2proof (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (tv)) (trace "X" (v))))) (trace "X" (ev))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0))
(trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\v' ->
(trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (lev)) (trace "X" (v')))))) of {
Prelude.True -> (trace "X" (MkLeveledHaskType (trace "X" (tv)) (trace "X" (v))));
(trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\v' ->
(trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (lev)) (trace "X" (v')))))) of {
Prelude.True -> (trace "X" (MkLeveledHaskType (trace "X" (tv)) (trace "X" (v))));
- Prelude.False -> (trace "X" ((trace "X" (__U03be_0 (trace "X" (v'))))))}))))) (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v))))) (trace "X" (ebody)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch
+ Prelude.False -> (trace "X" ((trace "X" (__U03be_0 (trace "X" (v'))))))}))))) (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v))))) (trace "X" (ebody)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tv)) (trace "X" (v)))))))))))
(trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
(trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (lev)) (trace "X" (([]))))))
(trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\v' ->
(trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (lev)) (trace "X" (v')))))) of {
Prelude.True -> (trace "X" (MkLeveledHaskType (trace "X" (tv)) (trace "X" (v))));
- Prelude.False -> (trace "X" ((trace "X" (__U03be_0 (trace "X" (v'))))))}))))) (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v))))) (trace "X" (ebody))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tv)) (trace "X" (v)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v)))))))))))))))))))) (trace "X" ((trace "X" ((expr2proof (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (v)) (trace "X" (((:) (trace "X" (((,) (trace "X" (lev)) (trace "X" (tv))))) (trace "X" (([]))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v))))) (trace "X" (ebody)))))))
+ Prelude.False -> (trace "X" ((trace "X" (__U03be_0 (trace "X" (v'))))))}))))) (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v))))) (trace "X" (ebody)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v)))))))))))))))))))) (trace "X" ((trace "X" ((expr2proof (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (v)) (trace "X" (((:) (trace "X" (((,) (trace "X" (lev)) (trace "X" (tv))))) (trace "X" (([]))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v))))) (trace "X" (ebody)))))))
(trace "X" ((let {__U03be_'0 = (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (v)) (trace "X" (((:) (trace "X" (((,) (trace "X" (lev)) (trace "X" (tv))))) (trace "X" (([]))))))))))} in
(trace "X" (let {
- n = (trace "X" ((trace "X" (arrangeContextAndWeaken (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (lev))
+ n = (trace "X" ((trace "X" (factorContextLeftAndWeaken (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (lev))
(trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\v' ->
(trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (lev)) (trace "X" (v')))))) of {
Prelude.True -> (trace "X" (MkLeveledHaskType (trace "X" (tv)) (trace "X" (v))));
(trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\v' ->
(trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (lev)) (trace "X" (v')))))) of {
Prelude.True -> (trace "X" (MkLeveledHaskType (trace "X" (tv)) (trace "X" (v))));
- Prelude.False -> (trace "X" ((trace "X" (__U03be_0 (trace "X" (v'))))))}))))) (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v))))) (trace "X" (ebody)))))))))))) (trace "X" ((T_Branch
+ Prelude.False -> (trace "X" ((trace "X" (__U03be_0 (trace "X" (v'))))))}))))) (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v))))) (trace "X" (ebody)))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tv)) (trace "X" (v)))))))))))
(trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
(trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (lev)) (trace "X" (([]))))))
(trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\v' ->
(trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (lev)) (trace "X" (v')))))) of {
Prelude.True -> (trace "X" (MkLeveledHaskType (trace "X" (tv)) (trace "X" (v))));
- Prelude.False -> (trace "X" ((trace "X" (__U03be_0 (trace "X" (v'))))))}))))) (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v))))) (trace "X" (ebody))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tv)) (trace "X" (v)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v))))))))))) (trace "X" (n0))))}
+ Prelude.False -> (trace "X" ((trace "X" (__U03be_0 (trace "X" (v'))))))}))))) (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v))))) (trace "X" (ebody)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v))))))))))) (trace "X" (n0))))}
in
(trace "X" (Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0))
(trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\v' ->
(trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\v' ->
(trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (lev)) (trace "X" (v')))))) of {
Prelude.True -> (trace "X" (MkLeveledHaskType (trace "X" (tv)) (trace "X" (v))));
- Prelude.False -> (trace "X" ((trace "X" (__U03be_0 (trace "X" (v'))))))}))))) (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v))))) (trace "X" (ebody)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch
+ Prelude.False -> (trace "X" ((trace "X" (__U03be_0 (trace "X" (v'))))))}))))) (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v))))) (trace "X" (ebody)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tv)) (trace "X" (v)))))))))))
(trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
(trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (lev)) (trace "X" (([]))))))
(trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\v' ->
(trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (lev)) (trace "X" (v')))))) of {
Prelude.True -> (trace "X" (MkLeveledHaskType (trace "X" (tv)) (trace "X" (v))));
- Prelude.False -> (trace "X" ((trace "X" (__U03be_0 (trace "X" (v'))))))}))))) (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v))))) (trace "X" (ebody))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tv)) (trace "X" (v)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v)))))))))))))))))))) (trace "X" (n1))))));
- Prelude.False -> (trace "X" (Prelude.error "absurd case"))})))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (tv)) (trace "X" (v))))) (trace "X" (ev)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tv)) (trace "X" (v)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch
+ Prelude.False -> (trace "X" ((trace "X" (__U03be_0 (trace "X" (v'))))))}))))) (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v))))) (trace "X" (ebody)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v)))))))))))))))))))) (trace "X" (n1))))));
+ Prelude.False -> (trace "X" (Prelude.error "absurd case"))})))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (tv)) (trace "X" (v))))) (trace "X" (ev)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tv)) (trace "X" (v)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tv)) (trace "X" (v)))))))))))
(trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
(trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (lev)) (trace "X" (([]))))))
(trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\v' ->
(trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (lev)) (trace "X" (v')))))) of {
Prelude.True -> (trace "X" (MkLeveledHaskType (trace "X" (tv)) (trace "X" (v))));
- Prelude.False -> (trace "X" ((trace "X" (__U03be_0 (trace "X" (v'))))))}))))) (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v))))) (trace "X" (ebody))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tv)) (trace "X" (v)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch
+ Prelude.False -> (trace "X" ((trace "X" (__U03be_0 (trace "X" (v'))))))}))))) (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v))))) (trace "X" (ebody)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (tv)) (trace "X" (v))))) (trace "X" (ev))))))))))))
(trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
(trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (lev)) (trace "X" (([]))))))
(trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\v' ->
(trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (lev)) (trace "X" (v')))))) of {
Prelude.True -> (trace "X" (MkLeveledHaskType (trace "X" (tv)) (trace "X" (v))));
- Prelude.False -> (trace "X" ((trace "X" (__U03be_0 (trace "X" (v'))))))}))))) (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v))))) (trace "X" (ebody))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (tv)) (trace "X" (v))))) (trace "X" (ev))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v)))))))))))))))))))) (trace "X" ((RLet (trace "X" (__U0393_0)) (trace "X" (__U0394_0))
+ Prelude.False -> (trace "X" ((trace "X" (__U03be_0 (trace "X" (v'))))))}))))) (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v))))) (trace "X" (ebody)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v)))))))))))))))))))) (trace "X" ((RLet (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (tv)) (trace "X" (v))))) (trace "X" (ev))))))))))))
(trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0))
(trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" (((:) (trace "X" (lev)) (trace "X" (([]))))))
(trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\v' ->
(trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" (eqd_vv)) (trace "X" (lev)) (trace "X" (v')))))) of {
Prelude.True -> (trace "X" (MkLeveledHaskType (trace "X" (tv)) (trace "X" (v))));
- Prelude.False -> (trace "X" ((trace "X" (__U03be_0 (trace "X" (v'))))))}))))) (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v))))) (trace "X" (ebody))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (tv)) (trace "X" (v))))) (trace "X" (ev)))))))))))) (trace "X" (t)) (trace "X" (tv)) (trace "X" (v))))))))));
+ Prelude.False -> (trace "X" ((trace "X" (__U03be_0 (trace "X" (v'))))))}))))) (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (v))))) (trace "X" (ebody))))))))))))))))) (trace "X" (tv)) (trace "X" (t)) (trace "X" (v))))))))));
EEsc __U0393_0 __U0394_0 __U03be_0 ec t lev e -> (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev)))))))) (trace "X" ((EEsc (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (ec)) (trace "X" (t)) (trace "X" (lev)) (trace "X" (e))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (haskBrak (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (t))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev)))))))) (trace "X" ((EEsc (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (ec)) (trace "X" (t)) (trace "X" (lev)) (trace "X" (e))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((trace "X" ((expr2proof (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (haskBrak (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (t))))))))) (trace "X" (lev))))) (trace "X" (e))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev)))))))) (trace "X" ((EEsc (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (ec)) (trace "X" (t)) (trace "X" (lev)) (trace "X" (e))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (haskBrak (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (t))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev)))))))) (trace "X" ((EEsc (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (ec)) (trace "X" (t)) (trace "X" (lev)) (trace "X" (e))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((REsc (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (t)) (trace "X" (ec)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev)))))))) (trace "X" ((EEsc (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (ec)) (trace "X" (t)) (trace "X" (lev)) (trace "X" (e))))))))))))))) (trace "X" (lev))))))))));
EBrak __U0393_0 __U0394_0 __U03be_0 ec t lev e -> (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (haskBrak (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (t))))))))) (trace "X" (lev))))) (trace "X" ((EBrak (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (ec)) (trace "X" (t)) (trace "X" (lev)) (trace "X" (e))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (haskBrak (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (t))))))))) (trace "X" (lev))))) (trace "X" ((EBrak (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (ec)) (trace "X" (t)) (trace "X" (lev)) (trace "X" (e))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (haskBrak (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (t))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((trace "X" ((expr2proof (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev)))))))) (trace "X" (e))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (haskBrak (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (t))))))))) (trace "X" (lev))))) (trace "X" ((EBrak (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (ec)) (trace "X" (t)) (trace "X" (lev)) (trace "X" (e))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (haskBrak (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (t))))))))) (trace "X" (lev))))) (trace "X" ((EBrak (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (ec)) (trace "X" (t)) (trace "X" (lev)) (trace "X" (e))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (haskBrak (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (t))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RBrak (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (t)) (trace "X" (ec)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (haskBrak (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (t))))))))) (trace "X" (lev))))) (trace "X" ((EBrak (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (ec)) (trace "X" (t)) (trace "X" (lev)) (trace "X" (e))))))))))))))) (trace "X" (lev))))))))));
ECast __U0393_0 __U0394_0 __U03be_0 __U03b3_ t1 lev e -> (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (t1)) (trace "X" (lev))))) (trace "X" ((ECast (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (__U03b3_)) (trace "X" (t1)) (trace "X" (lev)) (trace "X" (e))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03b3_)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (t1)) (trace "X" (lev))))) (trace "X" ((ECast (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (__U03b3_)) (trace "X" (t1)) (trace "X" (lev)) (trace "X" (e))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t1)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((trace "X" ((expr2proof (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (__U03b3_)) (trace "X" (lev))))) (trace "X" (e))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (t1)) (trace "X" (lev))))) (trace "X" ((ECast (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (__U03b3_)) (trace "X" (t1)) (trace "X" (lev)) (trace "X" (e))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03b3_)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (t1)) (trace "X" (lev))))) (trace "X" ((ECast (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (__U03b3_)) (trace "X" (t1)) (trace "X" (lev)) (trace "X" (e))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t1)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RCast (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" ((MkLeveledHaskType (trace "X" (t1)) (trace "X" (lev))))) (trace "X" ((ECast (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (__U03b3_)) (trace "X" (t1)) (trace "X" (lev)) (trace "X" (e))))))))))))))) (trace "X" (__U03b3_)) (trace "X" (t1)) (trace "X" (lev))))))))));
Prelude.Just x ->
(trace "X" (case (trace "X" (x)) of {
ExistT sac s -> (trace "X" (case (trace "X" (s)) of {
- ExistT scbx ex -> (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" ((trace "X" ((sac___U0393_ (trace "X" (tc)) (trace "X" (sac)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((sac___U0394_ (trace "X" (tc)) (trace "X" (sac)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" ((trace "X" ((weakCK'' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (__U0394_0)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((scbwv___U03be_ (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx)) (trace "X" (__U03be_0)) (trace "X" (l))))))) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((sac___U0393_ (trace "X" (tc)) (trace "X" (sac)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((sac___U0394_ (trace "X" (tc)) (trace "X" (sac)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" ((trace "X" ((weakCK'' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (__U0394_0)))))))))))) (trace "X" ((trace "X" ((scbwv___U03be_ (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx)) (trace "X" (__U03be_0)) (trace "X" (l))))))) (trace "X" ((trace "X" ((weakLT' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (KindStar)) (trace "X" ((MkLeveledHaskType (trace "X" (tbranches)) (trace "X" (l)))))))))) (trace "X" (ex)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((weakLT' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (KindStar)) (trace "X" ((MkLeveledHaskType (trace "X" (tbranches)) (trace "X" (l))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((pcb_judg (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (l)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((trace "X" ((projT1 (trace "X" ((trace "X" ((mkProofCaseBranch (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" (tc)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((ExistT (trace "X" (sac)) (trace "X" ((ExistT (trace "X" (scbx)) (trace "X" (ex)))))))))))))))))) (trace "X" ((trace "X" ((projT2 (trace "X" ((trace "X" ((mkProofCaseBranch (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" (tc)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((ExistT (trace "X" (sac)) (trace "X" ((ExistT (trace "X" (scbx)) (trace "X" (ex))))))))))))))))))))))))))))) (trace "X" ((trace "X" ((expr2proof (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((sac___U0393_ (trace "X" (tc)) (trace "X" (sac)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((sac___U0394_ (trace "X" (tc)) (trace "X" (sac)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" ((trace "X" ((weakCK'' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (__U0394_0)))))))))))) (trace "X" ((trace "X" ((scbwv___U03be_ (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx)) (trace "X" (__U03be_0)) (trace "X" (l))))))) (trace "X" ((trace "X" ((weakLT' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (KindStar)) (trace "X" ((MkLeveledHaskType (trace "X" (tbranches)) (trace "X" (l)))))))))) (trace "X" (ex))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" ((trace "X" ((sac___U0393_ (trace "X" (tc)) (trace "X" (sac)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((sac___U0394_ (trace "X" (tc)) (trace "X" (sac)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" ((trace "X" ((weakCK'' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (__U0394_0)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((scbwv___U03be_ (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx)) (trace "X" (__U03be_0)) (trace "X" (l))))))) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((sac___U0393_ (trace "X" (tc)) (trace "X" (sac)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((sac___U0394_ (trace "X" (tc)) (trace "X" (sac)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" ((trace "X" ((weakCK'' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (__U0394_0)))))))))))) (trace "X" ((trace "X" ((scbwv___U03be_ (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx)) (trace "X" (__U03be_0)) (trace "X" (l))))))) (trace "X" ((trace "X" ((weakLT' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (KindStar)) (trace "X" ((MkLeveledHaskType (trace "X" (tbranches)) (trace "X" (l)))))))))) (trace "X" (ex)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((weakLT' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (KindStar)) (trace "X" ((MkLeveledHaskType (trace "X" (tbranches)) (trace "X" (l))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((pcb_judg (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (l)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((trace "X" ((projT1 (trace "X" ((trace "X" ((mkProofCaseBranch (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" (tc)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((ExistT (trace "X" (sac)) (trace "X" ((ExistT (trace "X" (scbx)) (trace "X" (ex)))))))))))))))))) (trace "X" ((trace "X" ((projT2 (trace "X" ((trace "X" ((mkProofCaseBranch (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" (tc)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((ExistT (trace "X" (sac)) (trace "X" ((ExistT (trace "X" (scbx)) (trace "X" (ex))))))))))))))))))))))))))))) (trace "X" ((RArrange (trace "X" ((trace "X" ((sac___U0393_ (trace "X" (tc)) (trace "X" ((trace "X" ((projT1 (trace "X" ((trace "X" ((mkProofCaseBranch (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" (tc)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((ExistT (trace "X" (sac)) (trace "X" ((ExistT (trace "X" (scbx)) (trace "X" (ex)))))))))))))))))) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((sac___U0394_ (trace "X" (tc)) (trace "X" ((trace "X" ((projT1 (trace "X" ((trace "X" ((mkProofCaseBranch (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" (tc)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((ExistT (trace "X" (sac)) (trace "X" ((ExistT (trace "X" (scbx)) (trace "X" (ex)))))))))))))))))) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" ((trace "X" ((map (trace "X" ((\x0 _ -> (trace "X" ((trace "X" (weakCK' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((trace "X" ((projT1 (trace "X" ((trace "X" ((mkProofCaseBranch (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" (tc)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((ExistT (trace "X" (sac)) (trace "X" ((ExistT (trace "X" (scbx)) (trace "X" (ex))))))))))))))))))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((trace "X" ((projT1 (trace "X" ((trace "X" ((mkProofCaseBranch (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" (tc)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((ExistT (trace "X" (sac)) (trace "X" ((ExistT (trace "X" (scbx)) (trace "X" (ex)))))))))))))))))))))))))))) (trace "X" (x0))))))))) (trace "X" (__U0394_0)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((scbwv___U03be_ (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx)) (trace "X" (__U03be_0)) (trace "X" (l))))))) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((sac___U0393_ (trace "X" (tc)) (trace "X" (sac)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((sac___U0394_ (trace "X" (tc)) (trace "X" (sac)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" ((trace "X" ((weakCK'' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (__U0394_0)))))))))))) (trace "X" ((trace "X" ((scbwv___U03be_ (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx)) (trace "X" (__U03be_0)) (trace "X" (l))))))) (trace "X" ((trace "X" ((weakLT' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (KindStar)) (trace "X" ((MkLeveledHaskType (trace "X" (tbranches)) (trace "X" (l)))))))))) (trace "X" (ex)))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((weakLT' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((trace "X" ((projT1 (trace "X" ((trace "X" ((mkProofCaseBranch (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" (tc)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((ExistT (trace "X" (sac)) (trace "X" ((ExistT (trace "X" (scbx)) (trace "X" (ex))))))))))))))))))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((trace "X" ((projT1 (trace "X" ((trace "X" ((mkProofCaseBranch (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" (tc)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((ExistT (trace "X" (sac)) (trace "X" ((ExistT (trace "X" (scbx)) (trace "X" (ex)))))))))))))))))))))))))))) (trace "X" (KindStar))))))) (trace "X" ((trace "X" ((pcb_freevars (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (l)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((trace "X" ((projT1 (trace "X" ((trace "X" ((mkProofCaseBranch (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" (tc)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((ExistT (trace "X" (sac)) (trace "X" ((ExistT (trace "X" (scbx)) (trace "X" (ex)))))))))))))))))) (trace "X" ((trace "X" ((projT2 (trace "X" ((trace "X" ((mkProofCaseBranch (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" (tc)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((ExistT (trace "X" (sac)) (trace "X" ((ExistT (trace "X" (scbx)) (trace "X" (ex)))))))))))))))))))))))))))) (trace "X" ((trace "X" ((unleaves (trace "X" ((trace "X" ((map (trace "X" ((\t -> (trace "X" (MkLeveledHaskType (trace "X" (t)) (trace "X" ((trace "X" ((weakL' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((trace "X" ((projT1 (trace "X" ((trace "X" ((mkProofCaseBranch (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" (tc)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((ExistT (trace "X" (sac)) (trace "X" ((ExistT (trace "X" (scbx)) (trace "X" (ex))))))))))))))))))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((trace "X" ((projT1 (trace "X" ((trace "X" ((mkProofCaseBranch (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" (tc)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((ExistT (trace "X" (sac)) (trace "X" ((ExistT (trace "X" (scbx)) (trace "X" (ex)))))))))))))))))))))))))))) (trace "X" (l)))))))))))) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((trace "X" ((projT1 (trace "X" ((trace "X" ((mkProofCaseBranch (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" (tc)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((ExistT (trace "X" (sac)) (trace "X" ((ExistT (trace "X" (scbx)) (trace "X" (ex))))))))))))))))))))))) (trace "X" ((trace "X" ((sac_types (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((trace "X" ((projT1 (trace "X" ((trace "X" ((mkProofCaseBranch (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" (tc)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((ExistT (trace "X" (sac)) (trace "X" ((ExistT (trace "X" (scbx)) (trace "X" (ex)))))))))))))))))) (trace "X" (__U0393_0)) (trace "X" (atypes))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((weakLT' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((trace "X" ((projT1 (trace "X" ((trace "X" ((mkProofCaseBranch (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" (tc)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((ExistT (trace "X" (sac)) (trace "X" ((ExistT (trace "X" (scbx)) (trace "X" (ex))))))))))))))))))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((trace "X" ((projT1 (trace "X" ((trace "X" ((mkProofCaseBranch (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" (tc)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((ExistT (trace "X" (sac)) (trace "X" ((ExistT (trace "X" (scbx)) (trace "X" (ex)))))))))))))))))))))))))))) (trace "X" (KindStar)) (trace "X" ((MkLeveledHaskType (trace "X" (tbranches)) (trace "X" (l)))))))))))))))) (trace "X" ((trace "X" ((eq_rect_r (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t -> (trace "X" (MkLeveledHaskType (trace "X" (t)) (trace "X" ((trace "X" ((weakL' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (l)))))))))))) (trace "X" ((trace "X" ((unleaves (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_types (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)) (trace "X" (__U0393_0)) (trace "X" (atypes)))))))))))))))))))))) (trace "X" ((trace "X" ((eq_rect (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 -> (trace "X" ((trace "X" (weakLT' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (KindStar)) (trace "X" ((trace "X" ((__U03be_0 (trace "X" (x0)))))))))))))) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((scbwv_exprvars (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx)))))))))))) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((sac___U0393_ (trace "X" (tc)) (trace "X" (sac)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((sac___U0394_ (trace "X" (tc)) (trace "X" (sac)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" ((trace "X" ((weakCK'' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (__U0394_0)))))))))))) (trace "X" ((trace "X" ((scbwv___U03be_ (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx)) (trace "X" (__U03be_0)) (trace "X" (l))))))) (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (weakT' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (KindStar)) (trace "X" (tbranches))))))))) (trace "X" ((trace "X" ((weakL' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (l)))))))))) (trace "X" (ex))))))))))))))))) (trace "X" ((trace "X" ((eq_rect (trace "X" ((trace "X" ((unleaves (trace "X" ((trace "X" ((map (trace "X" ((\t -> (trace "X" (MkLeveledHaskType (trace "X" (t)) (trace "X" ((trace "X" ((weakL' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (l)))))))))))) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_types (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)) (trace "X" (__U0393_0)) (trace "X" (atypes)))))))))))))))))))))) (trace "X" ((trace "X" ((eq_rect_r (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((vec_map (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((\t -> (trace "X" (MkLeveledHaskType (trace "X" (t)) (trace "X" ((trace "X" ((weakL' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (l)))))))))))) (trace "X" ((trace "X" ((sac_types (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)) (trace "X" (__U0393_0)) (trace "X" (atypes))))))))))))))))) (trace "X" ((trace "X" ((eq_rect (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((vec_map (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((scbwv___U03be_ (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx)) (trace "X" (__U03be_0)) (trace "X" (l))))))) (trace "X" ((trace "X" ((scbwv_exprvars (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx))))))))))))))))) (trace "X" ((trace "X" ((eq_rect (trace "X" ((trace "X" ((map (trace "X" ((trace "X" ((scbwv___U03be_ (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx)) (trace "X" (__U03be_0)) (trace "X" (l))))))) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((scbwv_exprvars (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx))))))))))))))))) (trace "X" ((trace "X" ((eq_rect_r (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((scbwv___U03be_ (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx)) (trace "X" (__U03be_0)) (trace "X" (l))))))) (trace "X" ((trace "X" ((unleaves (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((scbwv_exprvars (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx)))))))))))))))))))))) (trace "X" ((let {q = (trace "X" ((trace "X" (arrangeContextAndWeaken'' (trace "X" (eqd_vv))))))} in (trace "X" ((trace "X" (eq_rect (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((app (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (__U0393_0))))))) (trace "X" ((\x0 -> (trace "X" ((trace "X" (weakLT' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (KindStar)) (trace "X" ((trace "X" ((__U03be_0 (trace "X" (x0)))))))))))))) (trace "X" ((trace "X" ((weakL' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (l))))))) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((vec_zip (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((scbwv_exprvars (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx))))))) (trace "X" ((trace "X" ((sac_types (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)) (trace "X" (__U0393_0)) (trace "X" (atypes)))))))))))))))))))))) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((scbwv_exprvars (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx)))))))))))) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((app (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((sac___U0394_ (trace "X" (tc)) (trace "X" (sac)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" ((trace "X" ((weakCK'' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (__U0394_0)))))))))))) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((app (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (__U0393_0))))))) (trace "X" ((\x0 -> (trace "X" ((trace "X" (weakLT' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (KindStar)) (trace "X" ((trace "X" ((__U03be_0 (trace "X" (x0)))))))))))))) (trace "X" ((trace "X" ((weakL' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (l))))))) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((scbwv_varstypes (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx))))))))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (weakT' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (KindStar)) (trace "X" (tbranches))))))))) (trace "X" ((trace "X" ((weakL' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (l)))))))))) (trace "X" (ex))))))))))))))))) (trace "X" ((trace "X" ((eq_rect (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((leaves (trace "X" ((trace "X" ((unleaves (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((scbwv_exprvars (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx))))))))))))))))))))))))))) (trace "X" ((trace "X" ((q (trace "X" ((trace "X" ((app (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((sac___U0394_ (trace "X" (tc)) (trace "X" (sac)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" ((trace "X" ((weakCK'' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (__U0394_0)))))))))))) (trace "X" ((trace "X" ((unleaves (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((scbwv_exprvars (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx))))))))))))))))) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((app (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (__U0393_0))))))) (trace "X" ((\x0 -> (trace "X" ((trace "X" (weakLT' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (KindStar)) (trace "X" ((trace "X" ((__U03be_0 (trace "X" (x0)))))))))))))) (trace "X" ((trace "X" ((weakL' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (l))))))) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((scbwv_varstypes (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx))))))))))))))))) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((app (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((sac___U0394_ (trace "X" (tc)) (trace "X" (sac)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" ((trace "X" ((weakCK'' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (__U0394_0)))))))))))) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((app (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (__U0393_0))))))) (trace "X" ((\x0 -> (trace "X" ((trace "X" (weakLT' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (KindStar)) (trace "X" ((trace "X" ((__U03be_0 (trace "X" (x0)))))))))))))) (trace "X" ((trace "X" ((weakL' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (l))))))) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((scbwv_varstypes (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx))))))))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (weakT' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (KindStar)) (trace "X" (tbranches))))))))) (trace "X" ((trace "X" ((weakL' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (l)))))))))) (trace "X" (ex)))))))))))) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((scbwv_exprvars (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx)))))))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 -> (trace "X" ((trace "X" (weakLT' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (KindStar)) (trace "X" ((trace "X" ((__U03be_0 (trace "X" (x0)))))))))))))) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((scbwv_exprvars (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx)))))))))))) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((app (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((sac___U0394_ (trace "X" (tc)) (trace "X" (sac)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" ((trace "X" ((weakCK'' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (__U0394_0)))))))))))) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((app (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (__U0393_0))))))) (trace "X" ((\x0 -> (trace "X" ((trace "X" (weakLT' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (KindStar)) (trace "X" ((trace "X" ((__U03be_0 (trace "X" (x0)))))))))))))) (trace "X" ((trace "X" ((weakL' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (l))))))) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((scbwv_varstypes (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx))))))))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (weakT' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (KindStar)) (trace "X" (tbranches))))))))) (trace "X" ((trace "X" ((weakL' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (l)))))))))) (trace "X" (ex)))))))))))))))))))))))) (trace "X" ((trace "X" ((unleaves (trace "X" ((trace "X" ((map (trace "X" ((trace "X" ((scbwv___U03be_ (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx)) (trace "X" (__U03be_0)) (trace "X" (l))))))) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((scbwv_exprvars (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx))))))))))))))))))))))))))) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((vec_map (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((scbwv___U03be_ (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx)) (trace "X" (__U03be_0)) (trace "X" (l))))))) (trace "X" ((trace "X" ((scbwv_exprvars (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx)))))))))))))))))))))) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((vec_map (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((\t -> (trace "X" (MkLeveledHaskType (trace "X" (t)) (trace "X" ((trace "X" ((weakL' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (l)))))))))))) (trace "X" ((trace "X" ((sac_types (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)) (trace "X" (__U0393_0)) (trace "X" (atypes)))))))))))))))))))))) (trace "X" ((trace "X" ((map (trace "X" ((\t -> (trace "X" (MkLeveledHaskType (trace "X" (t)) (trace "X" ((trace "X" ((weakL' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (l)))))))))))) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_types (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)) (trace "X" (__U0393_0)) (trace "X" (atypes)))))))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t -> (trace "X" (MkLeveledHaskType (trace "X" (t)) (trace "X" ((trace "X" ((weakL' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (l)))))))))))) (trace "X" ((trace "X" ((unleaves (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_types (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)) (trace "X" (__U0393_0)) (trace "X" (atypes))))))))))))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((weakLT' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (KindStar))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((scbwv_exprvars (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx)))))))))))) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((sac___U0393_ (trace "X" (tc)) (trace "X" (sac)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((sac___U0394_ (trace "X" (tc)) (trace "X" (sac)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" ((trace "X" ((weakCK'' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (__U0394_0)))))))))))) (trace "X" ((trace "X" ((scbwv___U03be_ (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx)) (trace "X" (__U03be_0)) (trace "X" (l))))))) (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (weakT' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (KindStar)) (trace "X" (tbranches))))))))) (trace "X" ((trace "X" ((weakL' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (l)))))))))) (trace "X" (ex))))))))))))))))))))))))))) (trace "X" ((trace "X" ((unleaves (trace "X" ((trace "X" ((map (trace "X" ((\t -> (trace "X" (MkLeveledHaskType (trace "X" (t)) (trace "X" ((trace "X" ((weakL' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (l)))))))))))) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_types (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)) (trace "X" (__U0393_0)) (trace "X" (atypes)))))))))))))))))))))))))))))))))))}))}));
+ ExistT scbx ex -> (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" ((trace "X" ((sac___U0393_ (trace "X" (tc)) (trace "X" (sac)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((sac___U0394_ (trace "X" (tc)) (trace "X" (sac)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" ((trace "X" ((weakCK'' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (__U0394_0)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((scbwv___U03be_ (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx)) (trace "X" (__U03be_0)) (trace "X" (l))))))) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((sac___U0393_ (trace "X" (tc)) (trace "X" (sac)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((sac___U0394_ (trace "X" (tc)) (trace "X" (sac)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" ((trace "X" ((weakCK'' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (__U0394_0)))))))))))) (trace "X" ((trace "X" ((scbwv___U03be_ (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx)) (trace "X" (__U03be_0)) (trace "X" (l))))))) (trace "X" ((trace "X" ((weakLT' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (KindStar)) (trace "X" ((MkLeveledHaskType (trace "X" (tbranches)) (trace "X" (l)))))))))) (trace "X" (ex)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((weakLT' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (KindStar)) (trace "X" ((MkLeveledHaskType (trace "X" (tbranches)) (trace "X" (l))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((pcb_judg (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (l)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((trace "X" ((projT1 (trace "X" ((trace "X" ((mkProofCaseBranch (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" (tc)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((ExistT (trace "X" (sac)) (trace "X" ((ExistT (trace "X" (scbx)) (trace "X" (ex)))))))))))))))))) (trace "X" ((trace "X" ((projT2 (trace "X" ((trace "X" ((mkProofCaseBranch (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" (tc)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((ExistT (trace "X" (sac)) (trace "X" ((ExistT (trace "X" (scbx)) (trace "X" (ex))))))))))))))))))))))))))))) (trace "X" ((trace "X" ((expr2proof (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((sac___U0393_ (trace "X" (tc)) (trace "X" (sac)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((sac___U0394_ (trace "X" (tc)) (trace "X" (sac)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" ((trace "X" ((weakCK'' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (__U0394_0)))))))))))) (trace "X" ((trace "X" ((scbwv___U03be_ (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx)) (trace "X" (__U03be_0)) (trace "X" (l))))))) (trace "X" ((trace "X" ((weakLT' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (KindStar)) (trace "X" ((MkLeveledHaskType (trace "X" (tbranches)) (trace "X" (l)))))))))) (trace "X" (ex))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" ((trace "X" ((sac___U0393_ (trace "X" (tc)) (trace "X" (sac)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((sac___U0394_ (trace "X" (tc)) (trace "X" (sac)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" ((trace "X" ((weakCK'' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (__U0394_0)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((scbwv___U03be_ (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx)) (trace "X" (__U03be_0)) (trace "X" (l))))))) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((sac___U0393_ (trace "X" (tc)) (trace "X" (sac)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((sac___U0394_ (trace "X" (tc)) (trace "X" (sac)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" ((trace "X" ((weakCK'' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (__U0394_0)))))))))))) (trace "X" ((trace "X" ((scbwv___U03be_ (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx)) (trace "X" (__U03be_0)) (trace "X" (l))))))) (trace "X" ((trace "X" ((weakLT' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (KindStar)) (trace "X" ((MkLeveledHaskType (trace "X" (tbranches)) (trace "X" (l)))))))))) (trace "X" (ex)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((weakLT' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (KindStar)) (trace "X" ((MkLeveledHaskType (trace "X" (tbranches)) (trace "X" (l))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((pcb_judg (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (l)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((trace "X" ((projT1 (trace "X" ((trace "X" ((mkProofCaseBranch (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" (tc)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((ExistT (trace "X" (sac)) (trace "X" ((ExistT (trace "X" (scbx)) (trace "X" (ex)))))))))))))))))) (trace "X" ((trace "X" ((projT2 (trace "X" ((trace "X" ((mkProofCaseBranch (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" (tc)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((ExistT (trace "X" (sac)) (trace "X" ((ExistT (trace "X" (scbx)) (trace "X" (ex))))))))))))))))))))))))))))) (trace "X" ((RArrange (trace "X" ((trace "X" ((sac___U0393_ (trace "X" (tc)) (trace "X" ((trace "X" ((projT1 (trace "X" ((trace "X" ((mkProofCaseBranch (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" (tc)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((ExistT (trace "X" (sac)) (trace "X" ((ExistT (trace "X" (scbx)) (trace "X" (ex)))))))))))))))))) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((sac___U0394_ (trace "X" (tc)) (trace "X" ((trace "X" ((projT1 (trace "X" ((trace "X" ((mkProofCaseBranch (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" (tc)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((ExistT (trace "X" (sac)) (trace "X" ((ExistT (trace "X" (scbx)) (trace "X" (ex)))))))))))))))))) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" ((trace "X" ((map (trace "X" ((\x0 _ -> (trace "X" ((trace "X" (weakCK' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((trace "X" ((projT1 (trace "X" ((trace "X" ((mkProofCaseBranch (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" (tc)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((ExistT (trace "X" (sac)) (trace "X" ((ExistT (trace "X" (scbx)) (trace "X" (ex))))))))))))))))))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((trace "X" ((projT1 (trace "X" ((trace "X" ((mkProofCaseBranch (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" (tc)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((ExistT (trace "X" (sac)) (trace "X" ((ExistT (trace "X" (scbx)) (trace "X" (ex)))))))))))))))))))))))))))) (trace "X" (x0))))))))) (trace "X" (__U0394_0)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((scbwv___U03be_ (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx)) (trace "X" (__U03be_0)) (trace "X" (l))))))) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((sac___U0393_ (trace "X" (tc)) (trace "X" (sac)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((sac___U0394_ (trace "X" (tc)) (trace "X" (sac)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" ((trace "X" ((weakCK'' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (__U0394_0)))))))))))) (trace "X" ((trace "X" ((scbwv___U03be_ (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx)) (trace "X" (__U03be_0)) (trace "X" (l))))))) (trace "X" ((trace "X" ((weakLT' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (KindStar)) (trace "X" ((MkLeveledHaskType (trace "X" (tbranches)) (trace "X" (l)))))))))) (trace "X" (ex)))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((weakLT' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((trace "X" ((projT1 (trace "X" ((trace "X" ((mkProofCaseBranch (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" (tc)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((ExistT (trace "X" (sac)) (trace "X" ((ExistT (trace "X" (scbx)) (trace "X" (ex))))))))))))))))))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((trace "X" ((projT1 (trace "X" ((trace "X" ((mkProofCaseBranch (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" (tc)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((ExistT (trace "X" (sac)) (trace "X" ((ExistT (trace "X" (scbx)) (trace "X" (ex)))))))))))))))))))))))))))) (trace "X" (KindStar))))))) (trace "X" ((trace "X" ((pcb_freevars (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (l)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((trace "X" ((projT1 (trace "X" ((trace "X" ((mkProofCaseBranch (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" (tc)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((ExistT (trace "X" (sac)) (trace "X" ((ExistT (trace "X" (scbx)) (trace "X" (ex)))))))))))))))))) (trace "X" ((trace "X" ((projT2 (trace "X" ((trace "X" ((mkProofCaseBranch (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" (tc)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((ExistT (trace "X" (sac)) (trace "X" ((ExistT (trace "X" (scbx)) (trace "X" (ex)))))))))))))))))))))))))))) (trace "X" ((trace "X" ((unleaves (trace "X" ((trace "X" ((map (trace "X" ((\t -> (trace "X" (MkLeveledHaskType (trace "X" (t)) (trace "X" ((trace "X" ((weakL' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((trace "X" ((projT1 (trace "X" ((trace "X" ((mkProofCaseBranch (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" (tc)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((ExistT (trace "X" (sac)) (trace "X" ((ExistT (trace "X" (scbx)) (trace "X" (ex))))))))))))))))))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((trace "X" ((projT1 (trace "X" ((trace "X" ((mkProofCaseBranch (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" (tc)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((ExistT (trace "X" (sac)) (trace "X" ((ExistT (trace "X" (scbx)) (trace "X" (ex)))))))))))))))))))))))))))) (trace "X" (l)))))))))))) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((trace "X" ((projT1 (trace "X" ((trace "X" ((mkProofCaseBranch (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" (tc)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((ExistT (trace "X" (sac)) (trace "X" ((ExistT (trace "X" (scbx)) (trace "X" (ex))))))))))))))))))))))) (trace "X" ((trace "X" ((sac_types (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((trace "X" ((projT1 (trace "X" ((trace "X" ((mkProofCaseBranch (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" (tc)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((ExistT (trace "X" (sac)) (trace "X" ((ExistT (trace "X" (scbx)) (trace "X" (ex)))))))))))))))))) (trace "X" (__U0393_0)) (trace "X" (atypes))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((weakLT' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((trace "X" ((projT1 (trace "X" ((trace "X" ((mkProofCaseBranch (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" (tc)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((ExistT (trace "X" (sac)) (trace "X" ((ExistT (trace "X" (scbx)) (trace "X" (ex))))))))))))))))))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((trace "X" ((projT1 (trace "X" ((trace "X" ((mkProofCaseBranch (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" (tc)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((ExistT (trace "X" (sac)) (trace "X" ((ExistT (trace "X" (scbx)) (trace "X" (ex)))))))))))))))))))))))))))) (trace "X" (KindStar)) (trace "X" ((MkLeveledHaskType (trace "X" (tbranches)) (trace "X" (l)))))))))))))))) (trace "X" ((trace "X" ((eq_rect_r (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t -> (trace "X" (MkLeveledHaskType (trace "X" (t)) (trace "X" ((trace "X" ((weakL' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (l)))))))))))) (trace "X" ((trace "X" ((unleaves (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_types (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)) (trace "X" (__U0393_0)) (trace "X" (atypes)))))))))))))))))))))) (trace "X" ((trace "X" ((eq_rect (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 -> (trace "X" ((trace "X" (weakLT' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (KindStar)) (trace "X" ((trace "X" ((__U03be_0 (trace "X" (x0)))))))))))))) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((scbwv_exprvars (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx)))))))))))) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((sac___U0393_ (trace "X" (tc)) (trace "X" (sac)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((sac___U0394_ (trace "X" (tc)) (trace "X" (sac)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" ((trace "X" ((weakCK'' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (__U0394_0)))))))))))) (trace "X" ((trace "X" ((scbwv___U03be_ (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx)) (trace "X" (__U03be_0)) (trace "X" (l))))))) (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (weakT' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (KindStar)) (trace "X" (tbranches))))))))) (trace "X" ((trace "X" ((weakL' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (l)))))))))) (trace "X" (ex))))))))))))))))) (trace "X" ((trace "X" ((eq_rect (trace "X" ((trace "X" ((unleaves (trace "X" ((trace "X" ((map (trace "X" ((\t -> (trace "X" (MkLeveledHaskType (trace "X" (t)) (trace "X" ((trace "X" ((weakL' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (l)))))))))))) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_types (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)) (trace "X" (__U0393_0)) (trace "X" (atypes)))))))))))))))))))))) (trace "X" ((trace "X" ((eq_rect_r (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((vec_map (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((\t -> (trace "X" (MkLeveledHaskType (trace "X" (t)) (trace "X" ((trace "X" ((weakL' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (l)))))))))))) (trace "X" ((trace "X" ((sac_types (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)) (trace "X" (__U0393_0)) (trace "X" (atypes))))))))))))))))) (trace "X" ((trace "X" ((eq_rect (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((vec_map (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((scbwv___U03be_ (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx)) (trace "X" (__U03be_0)) (trace "X" (l))))))) (trace "X" ((trace "X" ((scbwv_exprvars (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx))))))))))))))))) (trace "X" ((trace "X" ((eq_rect (trace "X" ((trace "X" ((map (trace "X" ((trace "X" ((scbwv___U03be_ (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx)) (trace "X" (__U03be_0)) (trace "X" (l))))))) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((scbwv_exprvars (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx))))))))))))))))) (trace "X" ((trace "X" ((eq_rect_r (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((scbwv___U03be_ (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx)) (trace "X" (__U03be_0)) (trace "X" (l))))))) (trace "X" ((trace "X" ((unleaves (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((scbwv_exprvars (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx)))))))))))))))))))))) (trace "X" ((let {q = (trace "X" ((trace "X" (factorContextRightAndWeaken'' (trace "X" (eqd_vv))))))} in (trace "X" ((trace "X" (eq_rect (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((app (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (__U0393_0))))))) (trace "X" ((\x0 -> (trace "X" ((trace "X" (weakLT' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (KindStar)) (trace "X" ((trace "X" ((__U03be_0 (trace "X" (x0)))))))))))))) (trace "X" ((trace "X" ((weakL' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (l))))))) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((vec_zip (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((scbwv_exprvars (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx))))))) (trace "X" ((trace "X" ((sac_types (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)) (trace "X" (__U0393_0)) (trace "X" (atypes)))))))))))))))))))))) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((scbwv_exprvars (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx)))))))))))) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((app (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((sac___U0394_ (trace "X" (tc)) (trace "X" (sac)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" ((trace "X" ((weakCK'' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (__U0394_0)))))))))))) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((app (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (__U0393_0))))))) (trace "X" ((\x0 -> (trace "X" ((trace "X" (weakLT' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (KindStar)) (trace "X" ((trace "X" ((__U03be_0 (trace "X" (x0)))))))))))))) (trace "X" ((trace "X" ((weakL' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (l))))))) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((scbwv_varstypes (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx))))))))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (weakT' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (KindStar)) (trace "X" (tbranches))))))))) (trace "X" ((trace "X" ((weakL' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (l)))))))))) (trace "X" (ex))))))))))))))))) (trace "X" ((trace "X" ((eq_rect (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((leaves (trace "X" ((trace "X" ((unleaves (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((scbwv_exprvars (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx))))))))))))))))))))))))))) (trace "X" ((trace "X" ((q (trace "X" ((trace "X" ((app (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((sac___U0394_ (trace "X" (tc)) (trace "X" (sac)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" ((trace "X" ((weakCK'' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (__U0394_0)))))))))))) (trace "X" ((trace "X" ((unleaves (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((scbwv_exprvars (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx))))))))))))))))) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((app (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (__U0393_0))))))) (trace "X" ((\x0 -> (trace "X" ((trace "X" (weakLT' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (KindStar)) (trace "X" ((trace "X" ((__U03be_0 (trace "X" (x0)))))))))))))) (trace "X" ((trace "X" ((weakL' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (l))))))) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((scbwv_varstypes (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx))))))))))))))))) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((app (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((sac___U0394_ (trace "X" (tc)) (trace "X" (sac)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" ((trace "X" ((weakCK'' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (__U0394_0)))))))))))) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((app (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (__U0393_0))))))) (trace "X" ((\x0 -> (trace "X" ((trace "X" (weakLT' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (KindStar)) (trace "X" ((trace "X" ((__U03be_0 (trace "X" (x0)))))))))))))) (trace "X" ((trace "X" ((weakL' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (l))))))) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((scbwv_varstypes (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx))))))))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (weakT' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (KindStar)) (trace "X" (tbranches))))))))) (trace "X" ((trace "X" ((weakL' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (l)))))))))) (trace "X" (ex)))))))))))) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((scbwv_exprvars (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx)))))))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 -> (trace "X" ((trace "X" (weakLT' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (KindStar)) (trace "X" ((trace "X" ((__U03be_0 (trace "X" (x0)))))))))))))) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((scbwv_exprvars (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx)))))))))))) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((app (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((sac___U0394_ (trace "X" (tc)) (trace "X" (sac)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" ((trace "X" ((weakCK'' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (__U0394_0)))))))))))) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((app (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (__U0393_0))))))) (trace "X" ((\x0 -> (trace "X" ((trace "X" (weakLT' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (KindStar)) (trace "X" ((trace "X" ((__U03be_0 (trace "X" (x0)))))))))))))) (trace "X" ((trace "X" ((weakL' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (l))))))) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((scbwv_varstypes (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx))))))))))))))))) (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (weakT' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (KindStar)) (trace "X" (tbranches))))))))) (trace "X" ((trace "X" ((weakL' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (l)))))))))) (trace "X" (ex)))))))))))))))))))))))) (trace "X" ((trace "X" ((unleaves (trace "X" ((trace "X" ((map (trace "X" ((trace "X" ((scbwv___U03be_ (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx)) (trace "X" (__U03be_0)) (trace "X" (l))))))) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((scbwv_exprvars (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx))))))))))))))))))))))))))) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((vec_map (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((scbwv___U03be_ (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx)) (trace "X" (__U03be_0)) (trace "X" (l))))))) (trace "X" ((trace "X" ((scbwv_exprvars (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx)))))))))))))))))))))) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((vec_map (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((\t -> (trace "X" (MkLeveledHaskType (trace "X" (t)) (trace "X" ((trace "X" ((weakL' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (l)))))))))))) (trace "X" ((trace "X" ((sac_types (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)) (trace "X" (__U0393_0)) (trace "X" (atypes)))))))))))))))))))))) (trace "X" ((trace "X" ((map (trace "X" ((\t -> (trace "X" (MkLeveledHaskType (trace "X" (t)) (trace "X" ((trace "X" ((weakL' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (l)))))))))))) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_types (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)) (trace "X" (__U0393_0)) (trace "X" (atypes)))))))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t -> (trace "X" (MkLeveledHaskType (trace "X" (t)) (trace "X" ((trace "X" ((weakL' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (l)))))))))))) (trace "X" ((trace "X" ((unleaves (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_types (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)) (trace "X" (__U0393_0)) (trace "X" (atypes))))))))))))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((weakLT' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (KindStar))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" ((trace "X" ((stripOutVars (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((scbwv_exprvars (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx)))))))))))) (trace "X" ((trace "X" ((expr2antecedent (trace "X" (eqd_vv)) (trace "X" ((trace "X" ((sac___U0393_ (trace "X" (tc)) (trace "X" (sac)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((sac___U0394_ (trace "X" (tc)) (trace "X" (sac)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" ((trace "X" ((weakCK'' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (__U0394_0)))))))))))) (trace "X" ((trace "X" ((scbwv___U03be_ (trace "X" (eqd_vv)) (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (atypes)) (trace "X" (sac)) (trace "X" (scbx)) (trace "X" (__U03be_0)) (trace "X" (l))))))) (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (weakT' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (KindStar)) (trace "X" (tbranches))))))))) (trace "X" ((trace "X" ((weakL' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (l)))))))))) (trace "X" (ex))))))))))))))))))))))))))) (trace "X" ((trace "X" ((unleaves (trace "X" ((trace "X" ((map (trace "X" ((\t -> (trace "X" (MkLeveledHaskType (trace "X" (t)) (trace "X" ((trace "X" ((weakL' (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExTyVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_ekinds (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)))))))))))) (trace "X" (l)))))))))))) (trace "X" ((trace "X" ((vec2list (trace "X" ((trace "X" ((sac_numExprVars (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac))))))) (trace "X" ((trace "X" ((sac_types (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (sac)) (trace "X" (__U0393_0)) (trace "X" (atypes)))))))))))))))))))))))))))))))))))}))}));
Prelude.Nothing -> (trace "X" (Nd_id0))}));
T_Branch b1 b2 -> (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x -> (trace "X" ((trace "X" (pcb_judg (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (l)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((trace "X" ((projT1 (trace "X" ((trace "X" ((mkProofCaseBranch (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" (tc)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" (x)))))))))))) (trace "X" ((trace "X" ((projT2 (trace "X" ((trace "X" ((mkProofCaseBranch (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" (tc)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" (x))))))))))))))))))) (trace "X" (b1))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x -> (trace "X" ((trace "X" (pcb_judg (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (l)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((trace "X" ((projT1 (trace "X" ((trace "X" ((mkProofCaseBranch (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" (tc)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" (x)))))))))))) (trace "X" ((trace "X" ((projT2 (trace "X" ((trace "X" ((mkProofCaseBranch (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" (tc)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" (x))))))))))))))))))) (trace "X" (b2)))))))))) (trace "X" ((Nd_llecnac (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x -> (trace "X" ((trace "X" (pcb_judg (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (l)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((trace "X" ((projT1 (trace "X" ((trace "X" ((mkProofCaseBranch (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" (tc)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" (x)))))))))))) (trace "X" ((trace "X" ((projT2 (trace "X" ((trace "X" ((mkProofCaseBranch (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" (tc)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" (x))))))))))))))))))) (trace "X" (b1))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x -> (trace "X" ((trace "X" (pcb_judg (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (l)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" ((trace "X" ((projT1 (trace "X" ((trace "X" ((mkProofCaseBranch (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" (tc)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" (x)))))))))))) (trace "X" ((trace "X" ((projT2 (trace "X" ((trace "X" ((mkProofCaseBranch (trace "X" (eqd_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" (tc)) (trace "X" (tbranches)) (trace "X" (atypes)) (trace "X" (x))))))))))))))))))) (trace "X" (b2))))))) (trace "X" ((trace "X" ((mkdcsp (trace "X" (b1))))))) (trace "X" ((trace "X" ((mkdcsp (trace "X" (b2))))))))))))}))}
in mkdcsp (trace "X" (alts'))))))}
RJoin __U0393_0 __U0394_0 __U03a3___U2081_ __U03a3___U2082_ __U03c4___U2081_ __U03c4___U2082_ -> (trace "X" ((:) (trace "X" ('R')) (trace "X" (((:) (trace "X" ('J')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('n')) (trace "X" ([]))))))))))))))));
RApp __U0393_0 __U0394_0 __U03a3___U2081_ __U03a3___U2082_ tx te l -> (trace "X" ((:) (trace "X" ('A')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('p')) (trace "X" ([]))))))))));
RLet __U0393_0 __U0394_0 __U03a3___U2081_ __U03a3___U2082_ __U03c3___U2081_ __U03c3___U2082_ l -> (trace "X" ((:) (trace "X" ('L')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('t')) (trace "X" ([]))))))))));
+ RWhere __U0393_0 __U0394_0 __U03a3___U2081_ __U03a3___U2082_ __U03a3___U2083_ __U03c3___U2081_ __U03c3___U2082_ l -> (trace "X" ((:) (trace "X" ('W')) (trace "X" (((:) (trace "X" ('h')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('r')) (trace "X" (((:) (trace "X" ('e')) (trace "X" ([]))))))))))))))));
RVoid __U0393_0 __U0394_0 -> (trace "X" ((:) (trace "X" ('R')) (trace "X" (((:) (trace "X" ('V')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('d')) (trace "X" ([]))))))))))))))));
RAppT __U0393_0 __U0394_0 __U03a3_ __U03ba_ __U03c3_ __U03c4_ l -> (trace "X" ((:) (trace "X" ('A')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('T')) (trace "X" ([])))))))))))));
RAbsT __U0393_0 __U0394_0 __U03a3_ __U03ba_ __U03c3_ l -> (trace "X" ((:) (trace "X" ('A')) (trace "X" (((:) (trace "X" ('b')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('T')) (trace "X" ([])))))))))))));
ILeaf i x -> (trace "X" ((trace "X" (false_rect (trace "X" (x))))));
IBranch it1 it2 x x0 ->
(trace "X" (let {
- h0 = (trace "X" ((trace "X" (eq_rect (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (p)))))))))))))))))))) (trace "X" ((\_ ->
- (trace "X" ((trace "X" (eq_rect (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((tx (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((te (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (p)))))))))))))))))))) (trace "X" ((\x1 x2 ->
+ h0 = (trace "X" ((trace "X" (eq_rect (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((tx (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((te (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (p)))))))))))))))))))) (trace "X" ((\_ ->
+ (trace "X" ((trace "X" (eq_rect (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (p)))))))))))))))))))) (trace "X" ((\x1 x2 ->
(trace "X" (case (trace "X" (x1)) of {
INone -> (trace "X" (false_rect));
ILeaf i x3 ->
- (trace "X" ((trace "X" (eq_rect (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (p)))))))))))))) (trace "X" ((\x4 ->
+ (trace "X" ((trace "X" (eq_rect (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((tx (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((te (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (p)))))))))))))) (trace "X" ((\x4 ->
(trace "X" (case (trace "X" (x2)) of {
INone -> (trace "X" (false_rect));
ILeaf i0 x5 ->
- (trace "X" ((trace "X" (eq_rect (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((tx (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((te (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (p)))))))))))))) (trace "X" ((\x6 __U03be_0 vars _ ->
+ (trace "X" ((trace "X" (eq_rect (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (p)))))))))))))) (trace "X" ((\x6 __U03be_0 vars _ ->
(trace "X" (case (trace "X" (vars)) of {
T_Leaf o -> (trace "X" (false_rect));
- T_Branch vars1 vars2 -> (trace "X" (let {q1 = (trace "X" ((trace "X" (x4 (trace "X" (__U03be_0)) (trace "X" (vars1)) (trace "X" (__))))))} in (trace "X" (let {q2 = (trace "X" ((trace "X" (x6 (trace "X" (__U03be_0)) (trace "X" (vars2)) (trace "X" (__))))))} in (trace "X" ((trace "X" (bindM (trace "X" ((trace "X" ((freshMon (trace "X" (freshM))))))) (trace "X" (q1)) (trace "X" ((\q1' -> (trace "X" ((trace "X" (bindM (trace "X" ((trace "X" ((freshMon (trace "X" (freshM))))))) (trace "X" (q2)) (trace "X" ((\q2' -> (trace "X" ((trace "X" (returnM (trace "X" ((trace "X" ((freshMon (trace "X" (freshM))))))) (trace "X" ((ILeaf (trace "X" ((MkLeveledHaskType (trace "X" (te)) (trace "X" (p))))) (trace "X" ((let {q1'0 = (trace "X" ((trace "X" (ileaf (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (p))))) (trace "X" (q1'))))))} in (trace "X" (let {q2'0 = (trace "X" ((trace "X" (ileaf (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((tx (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((te (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (p))))) (trace "X" (q2'))))))} in (trace "X" (EApp (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (te)) (trace "X" (tx)) (trace "X" (p)) (trace "X" (q2'0)) (trace "X" (q1'0))))))))))))))))))))))))))))))))))}))))) (trace "X" (i0)) (trace "X" (x5))))));
+ T_Branch vars1 vars2 -> (trace "X" (let {q1 = (trace "X" ((trace "X" (x4 (trace "X" (__U03be_0)) (trace "X" (vars1)) (trace "X" (__))))))} in (trace "X" (let {q2 = (trace "X" ((trace "X" (x6 (trace "X" (__U03be_0)) (trace "X" (vars2)) (trace "X" (__))))))} in (trace "X" ((trace "X" (bindM (trace "X" ((trace "X" ((freshMon (trace "X" (freshM))))))) (trace "X" (q1)) (trace "X" ((\q1' -> (trace "X" ((trace "X" (bindM (trace "X" ((trace "X" ((freshMon (trace "X" (freshM))))))) (trace "X" (q2)) (trace "X" ((\q2' -> (trace "X" ((trace "X" (returnM (trace "X" ((trace "X" ((freshMon (trace "X" (freshM))))))) (trace "X" ((ILeaf (trace "X" ((MkLeveledHaskType (trace "X" (te)) (trace "X" (p))))) (trace "X" ((let {q1'0 = (trace "X" ((trace "X" (ileaf (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((tx (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((te (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (p))))) (trace "X" (q1'))))))} in (trace "X" (let {q2'0 = (trace "X" ((trace "X" (ileaf (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (p))))) (trace "X" (q2'))))))} in (trace "X" (EApp (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (te)) (trace "X" (tx)) (trace "X" (p)) (trace "X" (q1'0)) (trace "X" (q2'0))))))))))))))))))))))))))))))))))}))))) (trace "X" (i0)) (trace "X" (x5))))));
IBranch it0 it3 x5 x6 -> (trace "X" ((trace "X" (false_rect (trace "X" (x5)) (trace "X" (x6))))))}))))) (trace "X" (i)) (trace "X" (x3))))));
IBranch it0 it3 x3 x4 -> (trace "X" ((trace "X" (false_rect (trace "X" (x3)) (trace "X" (x4))))))}))))) (trace "X" (it2))))))))) (trace "X" (it1)) (trace "X" (__))))))}
in
(trace "X" ((trace "X" (unsafeCoerce (trace "X" (h0)) (trace "X" (x)) (trace "X" (x0))))))))})))));
- RLet __U0393_0 __U0394_0 __U03a3___U2081_ __U03a3___U2082_ __U03c3___U2081_ __U03c3___U2082_ p -> (trace "X" (ILeaf (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (p))))))))))))))
+ RLet __U0393_0 __U0394_0 __U03a3___U2081_ __U03a3___U2082_ __U03c3___U2081_ __U03c3___U2082_ p -> (trace "X" (ILeaf (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (p))))))))))))))
(trace "X" ((unsafeCoerce (trace "X" ((\__U03be_0 vars _ ->
(trace "X" (case (trace "X" (vars)) of {
T_Leaf o -> (trace "X" (false_rect));
T_Branch vars1 vars2 ->
- (trace "X" ((trace "X" (bindM (trace "X" ((trace "X" ((freshMon (trace "X" (freshM))))))) (trace "X" ((trace "X" ((fresh_lemma (trace "X" (eqdec_vv)) (trace "X" (freshM)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (vars1)) (trace "X" (__U03a3___U2081_)) (trace "X" (__U03c3___U2082_)) (trace "X" (p))))))) (trace "X" ((\pf ->
- (trace "X" (let {__U03be_' = (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqdec_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (p)) (trace "X" (((:) (trace "X" (((,) (trace "X" (pf)) (trace "X" (__U03c3___U2082_))))) (trace "X" (([]))))))))))} in
+ (trace "X" ((trace "X" (bindM (trace "X" ((trace "X" ((freshMon (trace "X" (freshM))))))) (trace "X" ((trace "X" ((fresh_lemma (trace "X" (eqdec_vv)) (trace "X" (freshM)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (vars2)) (trace "X" (__U03a3___U2082_)) (trace "X" (__U03c3___U2081_)) (trace "X" (p))))))) (trace "X" ((\pf ->
+ (trace "X" (let {__U03be_' = (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqdec_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (p)) (trace "X" (((:) (trace "X" (((,) (trace "X" (pf)) (trace "X" (__U03c3___U2081_))))) (trace "X" (([]))))))))))} in
(trace "X" (case (trace "X" (x_)) of {
INone -> (trace "X" (false_rect));
ILeaf i x -> (trace "X" ((trace "X" (false_rect (trace "X" (x))))));
- IBranch it1 it2 x x0 -> (trace "X" (let {h0 = (trace "X" ((trace "X" (eq_rect (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (p)))))))))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (eq_rect (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (p)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (p)))))))))))))))))))) (trace "X" ((\x1 x2 -> (trace "X" (let {x3 = (trace "X" ((trace "X" (ileaf (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (p)))))))))))))) (trace "X" (x1))))))} in (trace "X" (let {x4 = (trace "X" ((trace "X" (ileaf (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (p)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (p)))))))))))))) (trace "X" (x2))))))} in (trace "X" ((trace "X" (bindM (trace "X" ((trace "X" ((freshMon (trace "X" (freshM))))))) (trace "X" ((trace "X" ((x3 (trace "X" (__U03be_0)) (trace "X" (vars2)) (trace "X" (__))))))) (trace "X" ((\x0' -> (trace "X" ((trace "X" (bindM (trace "X" ((trace "X" ((freshMon (trace "X" (freshM))))))) (trace "X" ((trace "X" ((x4 (trace "X" (__U03be_')) (trace "X" ((T_Branch (trace "X" (vars1)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" (pf))))))))))) (trace "X" (__))))))) (trace "X" ((\x1' -> (trace "X" ((trace "X" (returnM (trace "X" ((trace "X" ((freshMon (trace "X" (freshM))))))) (trace "X" ((ILeaf (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (p))))) (trace "X" ((let {x0'0 = (trace "X" ((trace "X" (ileaf (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (p))))) (trace "X" (x0'))))))} in (trace "X" (let {x1'0 = (trace "X" ((trace "X" (ileaf (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (p))))) (trace "X" (x1'))))))} in (trace "X" (ELet (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (__U03c3___U2082_)) (trace "X" (__U03c3___U2081_)) (trace "X" (p)) (trace "X" (pf)) (trace "X" (x0'0)) (trace "X" (x1'0))))))))))))))))))))))))))))))))))))) (trace "X" (it2))))))))) (trace "X" (it1)) (trace "X" (__))))))} in (trace "X" ((trace "X" (unsafeCoerce (trace "X" (h0)) (trace "X" (x)) (trace "X" (x0))))))))})))))))))))}))))))))));
+ IBranch it1 it2 x x0 -> (trace "X" (let {h0 = (trace "X" ((trace "X" (eq_rect (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (p)))))))))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (eq_rect (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (p))))))))))) (trace "X" (__U03a3___U2082_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (p)))))))))))))))))))) (trace "X" ((\x1 x2 -> (trace "X" (let {x3 = (trace "X" ((trace "X" (ileaf (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (p)))))))))))))) (trace "X" (x1))))))} in (trace "X" (let {x4 = (trace "X" ((trace "X" (ileaf (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (p))))))))))) (trace "X" (__U03a3___U2082_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (p)))))))))))))) (trace "X" (x2))))))} in (trace "X" ((trace "X" (bindM (trace "X" ((trace "X" ((freshMon (trace "X" (freshM))))))) (trace "X" ((trace "X" ((x3 (trace "X" (__U03be_0)) (trace "X" (vars1)) (trace "X" (__))))))) (trace "X" ((\x0' -> (trace "X" ((trace "X" (bindM (trace "X" ((trace "X" ((freshMon (trace "X" (freshM))))))) (trace "X" ((trace "X" ((x4 (trace "X" (__U03be_')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" (pf)))))))) (trace "X" (vars2))))) (trace "X" (__))))))) (trace "X" ((\x1' -> (trace "X" ((trace "X" (returnM (trace "X" ((trace "X" ((freshMon (trace "X" (freshM))))))) (trace "X" ((ILeaf (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (p))))) (trace "X" ((let {x1'0 = (trace "X" ((trace "X" (ileaf (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (p))))) (trace "X" (x1'))))))} in (trace "X" (let {x0'0 = (trace "X" ((trace "X" (ileaf (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (p))))) (trace "X" (x0'))))))} in (trace "X" (ELet (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (__U03c3___U2081_)) (trace "X" (__U03c3___U2082_)) (trace "X" (p)) (trace "X" (pf)) (trace "X" (x0'0)) (trace "X" (x1'0))))))))))))))))))))))))))))))))))))) (trace "X" (it2))))))))) (trace "X" (it1)) (trace "X" (__))))))} in (trace "X" ((trace "X" (unsafeCoerce (trace "X" (h0)) (trace "X" (x)) (trace "X" (x0))))))))})))))))))))}))))))))));
+ RWhere __U0393_0 __U0394_0 __U03a3___U2081_ __U03a3___U2082_ __U03a3___U2083_ __U03c3___U2081_ __U03c3___U2082_ p -> (trace "X" (ILeaf (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" (__U03a3___U2083_)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (p))))))))))))))
+ (trace "X" ((unsafeCoerce (trace "X" ((\__U03be_0 vars _ ->
+ (trace "X" (case (trace "X" (vars)) of {
+ T_Leaf o -> (trace "X" (false_rect));
+ T_Branch vars1 vars2 ->
+ (trace "X" (case (trace "X" (vars2)) of {
+ T_Leaf o -> (trace "X" (false_rect));
+ T_Branch vars2_1 vars2_2 ->
+ (trace "X" (let {
+ h0 = (trace "X" ((trace "X" (eq_rect_r (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (vars2_2))))))) (trace "X" ((\x_0 _ _ ->
+ (trace "X" ((trace "X" (eq_rect_r (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (vars2_1))))))) (trace "X" ((\x_1 _ ->
+ (trace "X" ((trace "X" (eq_rect_r (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (vars1))))))) (trace "X" ((\_ x_2 _ ->
+ (trace "X" ((trace "X" (bindM (trace "X" ((trace "X" ((freshMon (trace "X" (freshM))))))) (trace "X" ((trace "X" ((fresh_lemma (trace "X" (eqdec_vv)) (trace "X" (freshM)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" ((T_Branch (trace "X" (vars1)) (trace "X" (vars2_2))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (vars1))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (vars2_2)))))))))) (trace "X" (__U03c3___U2081_)) (trace "X" (p))))))) (trace "X" ((\pf ->
+ (trace "X" (let {__U03be_' = (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqdec_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (p)) (trace "X" (((:) (trace "X" (((,) (trace "X" (pf)) (trace "X" (__U03c3___U2081_))))) (trace "X" (([]))))))))))} in
+ (trace "X" (case (trace "X" (x_2)) of {
+ INone -> (trace "X" (false_rect));
+ ILeaf i x -> (trace "X" ((trace "X" (false_rect (trace "X" (x))))));
+ IBranch it1 it2 x x0 -> (trace "X" ((trace "X" (eq_rect (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (vars1))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (p))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (vars2_2))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (p)))))))))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (eq_rect (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (vars2_1))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (p)))))))))))))))))))) (trace "X" ((\x1 x2 -> (trace "X" (let {x3 = (trace "X" ((trace "X" (ileaf (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (vars1))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (p))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (vars2_2))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (p)))))))))))))) (trace "X" (x1))))))} in (trace "X" (let {x4 = (trace "X" ((trace "X" (ileaf (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (vars2_1))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (p)))))))))))))) (trace "X" (x2))))))} in (trace "X" ((trace "X" (bindM (trace "X" ((trace "X" ((freshMon (trace "X" (freshM))))))) (trace "X" ((trace "X" ((x3 (trace "X" (__U03be_')) (trace "X" ((T_Branch (trace "X" (vars1)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" (pf)))))))) (trace "X" (vars2_2)))))))) (trace "X" (__))))))) (trace "X" ((\x0' -> (trace "X" ((trace "X" (bindM (trace "X" ((trace "X" ((freshMon (trace "X" (freshM))))))) (trace "X" ((trace "X" ((x4 (trace "X" (__U03be_0)) (trace "X" (vars2_1)) (trace "X" (__))))))) (trace "X" ((\x1' -> (trace "X" ((trace "X" (returnM (trace "X" ((trace "X" ((freshMon (trace "X" (freshM))))))) (trace "X" ((ILeaf (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (p))))) (trace "X" ((let {x0'0 = (trace "X" ((trace "X" (ileaf (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (p))))) (trace "X" (x0'))))))} in (trace "X" (let {x1'0 = (trace "X" ((trace "X" (ileaf (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (p))))) (trace "X" (x1'))))))} in (trace "X" (ELet (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (__U03c3___U2081_)) (trace "X" (__U03c3___U2082_)) (trace "X" (p)) (trace "X" (pf)) (trace "X" (x1'0)) (trace "X" (x0'0))))))))))))))))))))))))))))))))))))) (trace "X" (it2))))))))) (trace "X" (it1)) (trace "X" (__)) (trace "X" (x)) (trace "X" (x0))))))})))))))))))))) (trace "X" (__U03a3___U2081_)) (trace "X" (__)) (trace "X" (x_1)) (trace "X" (__))))))))) (trace "X" (__U03a3___U2082_)) (trace "X" (x_0)) (trace "X" (__))))))))) (trace "X" (__U03a3___U2083_))))))}
+ in
+ (trace "X" ((trace "X" (unsafeCoerce (trace "X" (h0)) (trace "X" (x_)) (trace "X" (__)) (trace "X" (__))))))))}))}))))))))));
RVoid __U0393_0 __U0394_0 -> (trace "X" (ILeaf (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((unsafeCoerce (trace "X" ((\__U03be_0 vars _ -> (trace "X" ((trace "X" (returnM (trace "X" ((trace "X" ((freshMon (trace "X" (freshM))))))) (trace "X" (INone))))))))))))));
RAppT __U0393_0 __U0394_0 __U03a3_ __U03ba_ __U03c3_ __U03c4_ y -> (trace "X" (let {x_0 = (trace "X" ((trace "X" (ileaf (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (haskTAll (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (__U03c3_))))))))) (trace "X" (y)))))))))))))) (trace "X" (x_))))))} in (trace "X" (ILeaf (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (substT (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (KindStar)) (trace "X" (__U03c3_)) (trace "X" (__U03c4_))))))))) (trace "X" (y)))))))))))))) (trace "X" ((unsafeCoerce (trace "X" ((\__U03be_0 vars _ -> (trace "X" ((trace "X" (bindM (trace "X" ((trace "X" ((freshMon (trace "X" (freshM))))))) (trace "X" ((trace "X" ((unsafeCoerce (trace "X" (x_0)) (trace "X" (__U03be_0)) (trace "X" (vars)) (trace "X" (__))))))) (trace "X" ((\x -> (trace "X" ((trace "X" (returnM (trace "X" ((trace "X" ((freshMon (trace "X" (freshM))))))) (trace "X" ((ILeaf (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (substT (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (KindStar)) (trace "X" (__U03c3_)) (trace "X" (__U03c4_))))))))) (trace "X" (y))))) (trace "X" ((ETyApp (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03ba_)) (trace "X" (__U03c3_)) (trace "X" (__U03c4_)) (trace "X" (__U03be_0)) (trace "X" (y)) (trace "X" ((trace "X" ((ileaf (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (haskTAll (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (__U03c3_))))))))) (trace "X" (y))))) (trace "X" (x))))))))))))))))))))))))))))))))));
RAbsT __U0393_0 __U0394_0 __U03a3_ __U03ba_ __U03c3_ a -> (trace "X" (let {x_0 = (trace "X" ((trace "X" (ileaf (trace "X" ((MkJudg (trace "X" (((:) (trace "X" (__U03ba_)) (trace "X" (__U0393_0))))) (trace "X" ((trace "X" ((weakCE (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (__U0394_0))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((weakLT (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (KindStar))))))) (trace "X" (__U03a3_))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (haskTApp (trace "X" (((:) (trace "X" (__U03ba_)) (trace "X" (__U0393_0))))) (trace "X" (__U03ba_)) (trace "X" ((\_ -> (trace "X" ((trace "X" (weakF (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (KindStar)) (trace "X" (__U03c3_))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (freshHaskTyVar (trace "X" (__U0393_0)) (trace "X" (__U03ba_)))))))))))))))) (trace "X" ((trace "X" ((weakL (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (a))))))))))))))))))) (trace "X" (x_))))))} in (trace "X" (ILeaf (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (haskTAll (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (__U03c3_))))))))) (trace "X" (a)))))))))))))) (trace "X" ((unsafeCoerce (trace "X" ((\__U03be_0 vars _ -> (trace "X" ((trace "X" (bindM (trace "X" ((trace "X" ((freshMon (trace "X" (freshM))))))) (trace "X" ((trace "X" ((unsafeCoerce (trace "X" (x_0)) (trace "X" ((\x -> (trace "X" ((trace "X" (weakLT (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (KindStar)) (trace "X" ((trace "X" ((__U03be_0 (trace "X" (x)))))))))))))) (trace "X" (vars)) (trace "X" (__))))))) (trace "X" ((\x -> (trace "X" ((trace "X" (returnM (trace "X" ((trace "X" ((freshMon (trace "X" (freshM))))))) (trace "X" ((ILeaf (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (haskTAll (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (__U03c3_))))))))) (trace "X" (a))))) (trace "X" ((let {x0 = (trace "X" ((trace "X" (ileaf (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (haskTApp (trace "X" (((:) (trace "X" (__U03ba_)) (trace "X" (__U0393_0))))) (trace "X" (__U03ba_)) (trace "X" ((\_ -> (trace "X" ((trace "X" (weakF (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (KindStar)) (trace "X" (__U03c3_))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (freshHaskTyVar (trace "X" (__U0393_0)) (trace "X" (__U03ba_)))))))))))))))) (trace "X" ((trace "X" ((weakL (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (a)))))))))) (trace "X" (x))))))} in (trace "X" (ETyLam (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (__U03ba_)) (trace "X" (__U03c3_)) (trace "X" (a)) (trace "X" (x0)))))))))))))))))))))))))))))));
RAppCo __U0393_0 __U0394_0 __U03a3_ __U03ba_ __U03c3___U2081_ __U03c3___U2082_ __U03c3_ l -> (trace "X" (let {x_0 = (trace "X" ((trace "X" (ileaf (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TCoerc (trace "X" (__U03ba_)) (trace "X" ((trace "X" ((__U03c3___U2081_ (trace "X" (__)) (trace "X" (env))))))) (trace "X" ((trace "X" ((__U03c3___U2082_ (trace "X" (__)) (trace "X" (env))))))) (trace "X" ((trace "X" ((__U03c3_ (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (l)))))))))))))) (trace "X" (x_))))))} in (trace "X" (ILeaf (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3_)) (trace "X" (l)))))))))))))) (trace "X" ((unsafeCoerce (trace "X" ((\__U03be_0 vars _ -> (trace "X" ((trace "X" (bindM (trace "X" ((trace "X" ((freshMon (trace "X" (freshM))))))) (trace "X" ((trace "X" ((unsafeCoerce (trace "X" (x_0)) (trace "X" (__U03be_0)) (trace "X" (vars)) (trace "X" (__))))))) (trace "X" ((\x -> (trace "X" ((trace "X" (returnM (trace "X" ((trace "X" ((freshMon (trace "X" (freshM))))))) (trace "X" ((ILeaf (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3_)) (trace "X" (l))))) (trace "X" ((ECoApp (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03ba_)) (trace "X" (__U03c3___U2081_)) (trace "X" (__U03c3___U2082_)) (trace "X" (__U03c3_)) (trace "X" (__U03be_0)) (trace "X" (l)) (trace "X" ((trace "X" ((ileaf (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TCoerc (trace "X" (__U03ba_)) (trace "X" ((trace "X" ((__U03c3___U2081_ (trace "X" (__)) (trace "X" (env))))))) (trace "X" ((trace "X" ((__U03c3___U2082_ (trace "X" (__)) (trace "X" (env))))))) (trace "X" ((trace "X" ((__U03c3_ (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (l))))) (trace "X" (x))))))))))))))))))))))))))))))))));
RAbsCo __U0393_0 __U0394_0 __U03a3_ __U03ba_ __U03c3_ __U03c3___U2081_ __U03c3___U2082_ y -> (trace "X" (let {x_0 = (trace "X" ((trace "X" (ileaf (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" ((\_ -> (trace "X" ((trace "X" (mkHaskCoercionKind (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (__U03c3_)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (__U0394_0))))) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (y)))))))))))))) (trace "X" (x_))))))} in (trace "X" (ILeaf (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TCoerc (trace "X" (__U03ba_)) (trace "X" ((trace "X" ((__U03c3_ (trace "X" (__)) (trace "X" (env))))))) (trace "X" ((trace "X" ((__U03c3___U2081_ (trace "X" (__)) (trace "X" (env))))))) (trace "X" ((trace "X" ((__U03c3___U2082_ (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (y)))))))))))))) (trace "X" ((unsafeCoerce (trace "X" ((\__U03be_0 vars _ -> (trace "X" ((trace "X" (bindM (trace "X" ((trace "X" ((freshMon (trace "X" (freshM))))))) (trace "X" ((trace "X" ((unsafeCoerce (trace "X" (x_0)) (trace "X" (__U03be_0)) (trace "X" (vars)) (trace "X" (__))))))) (trace "X" ((\x -> (trace "X" ((trace "X" (returnM (trace "X" ((trace "X" ((freshMon (trace "X" (freshM))))))) (trace "X" ((ILeaf (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TCoerc (trace "X" (__U03ba_)) (trace "X" ((trace "X" ((__U03c3_ (trace "X" (__)) (trace "X" (env))))))) (trace "X" ((trace "X" ((__U03c3___U2081_ (trace "X" (__)) (trace "X" (env))))))) (trace "X" ((trace "X" ((__U03c3___U2082_ (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (y))))) (trace "X" ((ECoLam (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03ba_)) (trace "X" (__U03c3___U2082_)) (trace "X" (__U03c3_)) (trace "X" (__U03c3___U2081_)) (trace "X" (__U03be_0)) (trace "X" (y)) (trace "X" ((trace "X" ((ileaf (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (y))))) (trace "X" (x))))))))))))))))))))))))))))))))));
RLetRec __U0393_0 __U0394_0 lri x y t ->
- (trace "X" (let {x_0 = (trace "X" ((trace "X" (ileaf (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (lri)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (t))))))) (trace "X" (y)))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (t))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" (x)))))))) (trace "X" (y))))))))))))) (trace "X" (x_))))))} in
+ (trace "X" (let {x_0 = (trace "X" ((trace "X" (ileaf (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (lri)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (t))))))) (trace "X" (y)))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (t))))))) (trace "X" ((T_Branch (trace "X" (y)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" (x))))))))))))))))))) (trace "X" (x_))))))} in
(trace "X" (ILeaf (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (lri)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (t))))))))))))))
(trace "X" ((unsafeCoerce (trace "X" ((\__U03be_0 vars _ ->
(trace "X" ((trace "X" (bindM (trace "X" ((trace "X" ((freshMon (trace "X" (freshM))))))) (trace "X" ((trace "X" ((fresh_lemma' (trace "X" (eqdec_vv)) (trace "X" (freshM)) (trace "X" (__U0393_0)) (trace "X" (y)) (trace "X" (vars)) (trace "X" (lri)) (trace "X" (__U03be_0)) (trace "X" (t))))))) (trace "X" ((\__U03be_vars ->
(trace "X" ((case (trace "X" (x0)) of {
INone -> (trace "X" (false_rect));
ILeaf i x1 -> (trace "X" ((trace "X" (false_rect (trace "X" (x1))))));
- IBranch it1 it2 x1 x2 -> (trace "X" ((trace "X" (eq_rect (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (t))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (eq_rect (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (t))))))) (trace "X" (y))))))) (trace "X" ((\x3 x4 -> (trace "X" ((trace "X" (eq_rect_r (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (vars))))))) (trace "X" ((\_ -> (trace "X" (ELetRec (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (t)) (trace "X" (x)) (trace "X" (__U03be_vars)) (trace "X" ((trace "X" ((letrec_helper (trace "X" (eqdec_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (t)) (trace "X" (__U03be_vars)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqdec_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (t)) (trace "X" ((trace "X" ((leaves (trace "X" (__U03be_vars)))))))))))) (trace "X" ((let {x5 = (trace "X" ((trace "X" (eq_rect_r (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (t))))))) (trace "X" (y))))))) (trace "X" (x4)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqdec_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (t)) (trace "X" ((trace "X" ((leaves (trace "X" (__U03be_vars)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (fst)) (trace "X" (__U03be_vars))))))))))))))))} in (trace "X" ((trace "X" (eq_rect_r (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqdec_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (t)) (trace "X" ((trace "X" ((leaves (trace "X" (__U03be_vars)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (fst)) (trace "X" (__U03be_vars)))))))))))) (trace "X" (x5)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x6 -> (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqdec_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (t)) (trace "X" ((trace "X" ((leaves (trace "X" (__U03be_vars))))))) (trace "X" ((trace "X" ((fst (trace "X" (x6)))))))))))))) (trace "X" (__U03be_vars))))))))))))))))))) (trace "X" ((trace "X" ((ileaf (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (t))))) (trace "X" (x3)))))))))))) (trace "X" (lri)) (trace "X" (__))))))))) (trace "X" (it2))))))))) (trace "X" (it1)) (trace "X" (__)) (trace "X" (x1)) (trace "X" (x2))))))}))))))))))))))))))))))))))))))))));
+ IBranch it1 it2 x1 x2 -> (trace "X" ((trace "X" (eq_rect (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (t))))))) (trace "X" (y))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (eq_rect (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (t))))))))))) (trace "X" ((\x3 x4 -> (trace "X" ((trace "X" (eq_rect_r (trace "X" ((trace "X" ((mapOptionTree (trace "X" (__U03be_0)) (trace "X" (vars))))))) (trace "X" ((\_ -> (trace "X" (ELetRec (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03be_0)) (trace "X" (t)) (trace "X" (x)) (trace "X" (__U03be_vars)) (trace "X" ((trace "X" ((letrec_helper (trace "X" (eqdec_vv)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (t)) (trace "X" (__U03be_vars)) (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqdec_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (t)) (trace "X" ((trace "X" ((leaves (trace "X" (__U03be_vars)))))))))))) (trace "X" ((let {x5 = (trace "X" ((trace "X" (eq_rect_r (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (t))))))) (trace "X" (y))))))) (trace "X" (x3)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqdec_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (t)) (trace "X" ((trace "X" ((leaves (trace "X" (__U03be_vars)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (fst)) (trace "X" (__U03be_vars))))))))))))))))} in (trace "X" ((trace "X" (eq_rect_r (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((update___U03be_ (trace "X" (eqdec_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (t)) (trace "X" ((trace "X" ((leaves (trace "X" (__U03be_vars)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (fst)) (trace "X" (__U03be_vars)))))))))))) (trace "X" (x5)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x6 -> (trace "X" ((trace "X" (update___U03be_ (trace "X" (eqdec_vv)) (trace "X" (__U0393_0)) (trace "X" (__U03be_0)) (trace "X" (t)) (trace "X" ((trace "X" ((leaves (trace "X" (__U03be_vars))))))) (trace "X" ((trace "X" ((fst (trace "X" (x6)))))))))))))) (trace "X" (__U03be_vars))))))))))))))))))) (trace "X" ((trace "X" ((ileaf (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (t))))) (trace "X" (x4)))))))))))) (trace "X" (lri)) (trace "X" (__))))))))) (trace "X" (it2))))))))) (trace "X" (it1)) (trace "X" (__)) (trace "X" (x1)) (trace "X" (x2))))))}))))))))))))))))))))))))))))))))));
RCase __U0393_0 __U0394_0 lev tc __U03a3_ avars tbranches alts -> (trace "X" (ILeaf (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTreeAndFlatten (trace "X" ((\x -> (trace "X" ((trace "X" (pcb_freevars (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (lev)) (trace "X" (tbranches)) (trace "X" (avars)) (trace "X" ((trace "X" ((projT1 (trace "X" (x))))))) (trace "X" ((trace "X" ((projT2 (trace "X" (x)))))))))))))) (trace "X" (alts))))))) (trace "X" (__U03a3_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tbranches)) (trace "X" (lev))))))))))))))
(trace "X" ((unsafeCoerce (trace "X" ((\__U03be_0 vars _ ->
(trace "X" (case (trace "X" (x_)) of {
(:) h2 h3 -> (trace "X" ((trace "X" (Prelude.error (trace "X" (((:) (trace "X" ('f')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('u')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" ('d')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('R')) (trace "X" (((:) (trace "X" ('J')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('v')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('>')) (trace "X" (((:) (trace "X" ('0')) (trace "X" ([])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))}))));
RApp __U0393_0 __U0394_0 __U03a3___U2081_ __U03a3___U2082_ tx te lev ->
(trace "X" (case (trace "X" (lev)) of {
- ([]) -> (trace "X" (Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((tx (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((te (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (te)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((SFlat (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((tx (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((te (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (te)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RApp (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_)) (trace "X" (tx)) (trace "X" (te)) (trace "X" (([])))))))))));
+ ([]) -> (trace "X" (Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((tx (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((te (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (te)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((SFlat (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((tx (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((te (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (te)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RApp (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_)) (trace "X" (tx)) (trace "X" (te)) (trace "X" (([])))))))))));
(:) h1 lev0 ->
(trace "X" ((trace "X" (eq_rect_r (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te)))))))))
(trace "X" ((let {hof_tx = (trace "X" ((trace "X" (check_hof (trace "X" (__U0393_0)) (trace "X" (tx))))))} in
(trace "X" (case (trace "X" (hof_tx)) of {
Prelude.True -> (trace "X" ((trace "X" (Prelude.error (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('m')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('y')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('h')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('g')) (trace "X" (((:) (trace "X" ('h')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('r')) (trace "X" (((:) (trace "X" ('-')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('r')) (trace "X" (((:) (trace "X" ('d')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('r')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('f')) (trace "X" (((:) (trace "X" ('u')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" ('c')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('d')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('h')) (trace "X" (((:) (trace "X" ('>')) (trace "X" (((:) (trace "X" ('0')) (trace "X" ([])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
- Prelude.False -> (trace "X" ((trace "X" (eq_rect_r (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((eq_rect_r (trace "X" (tx)) (trace "X" ((let {q = (trace "X" (RLet (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))))))))) (trace "X" (__U03a3___U2081_)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))} in (trace "X" (Nd_comp (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((tx (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((te (trace "X" (__)) (trace "X" (env))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((tx (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((te (trace "X" (__)) (trace "X" (env))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))))))))) (trace "X" (__U03a3___U2081_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((tx (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((te (trace "X" (__)) (trace "X" (env))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))))))))) (trace "X" (__U03a3___U2081_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((tx (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((te (trace "X" (__)) (trace "X" (env))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((SFlat (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((RCanR (trace "X" (__U03a3___U2081_)))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((tx (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((te (trace "X" (__)) (trace "X" (env))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((SFlat (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((tx (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((te (trace "X" (__)) (trace "X" (env))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((tx (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((te (trace "X" (__)) (trace "X" (env))))))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((RComp (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((tx (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((te (trace "X" (__)) (trace "X" (env))))))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))) (trace "X" ((RLeft (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((tx (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((te (trace "X" (__)) (trace "X" (env)))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))) (trace "X" (__U03a3___U2082_)) (trace "X" ((RComp (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((tx (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((te (trace "X" (__)) (trace "X" (env)))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))) (trace "X" ((trace "X" ((take_unarrange (trace "X" (__U0393_0)) (trace "X" (tx)) (trace "X" (te)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((RExch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((RAssoc (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))))))))) (trace "X" (__U03a3___U2081_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((SFlat (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))))))))) (trace "X" (__U03a3___U2081_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" (q))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))))))))) (trace "X" (__U03a3___U2081_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((SFlat (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))))))))) (trace "X" (__U03a3___U2081_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))))))))) (trace "X" (__U03a3___U2081_))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((RExch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te)))))))))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((SFlat (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te)))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((RAssoc (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))))))))))))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (tx)))))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (tx)))))))))))}))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((tx (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((te (trace "X" (__)) (trace "X" (env)))))))))))))))))))))))}));
+ Prelude.False -> (trace "X" ((trace "X" (eq_rect_r (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((eq_rect_r (trace "X" (tx)) (trace "X" ((Nd_comp (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((tx (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((te (trace "X" (__)) (trace "X" (env))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((tx (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((te (trace "X" (__)) (trace "X" (env))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((tx (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((te (trace "X" (__)) (trace "X" (env))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((SFlat (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((tx (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((te (trace "X" (__)) (trace "X" (env))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((tx (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((te (trace "X" (__)) (trace "X" (env))))))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((RLeft (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((tx (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((te (trace "X" (__)) (trace "X" (env)))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))))))))) (trace "X" (__U03a3___U2081_)) (trace "X" ((trace "X" ((take_unarrange (trace "X" (__U0393_0)) (trace "X" (tx)) (trace "X" (te)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((SFlat (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((RCanR (trace "X" (__U03a3___U2082_))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((SFlat (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((RWhere (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te)))))))))))) (trace "X" (tx)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((SFlat (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te)))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((RAssoc (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te)))))))))))))))))))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (tx)))))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (tx)))))))))))}))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((tx (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((te (trace "X" (__)) (trace "X" (env)))))))))))))))))))))))}));
RLet __U0393_0 __U0394_0 __U03a3___U2081_ __U03a3___U2082_ __U03c3___U2081_ __U03c3___U2082_ lev ->
(trace "X" (case (trace "X" (lev)) of {
- ([]) -> (trace "X" (Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((SFlat (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RLet (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_)) (trace "X" (__U03c3___U2081_)) (trace "X" (__U03c3___U2082_)) (trace "X" (([])))))))))));
+ ([]) -> (trace "X" (Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (([])))))))))))) (trace "X" (__U03a3___U2082_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((SFlat (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (([])))))))))))) (trace "X" (__U03a3___U2082_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RLet (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_)) (trace "X" (__U03c3___U2081_)) (trace "X" (__U03c3___U2082_)) (trace "X" (([])))))))))));
(:) h1 lev0 ->
- (trace "X" (let {hof_tx = (trace "X" ((trace "X" (check_hof (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))} in
+ (trace "X" (let {hof_tx = (trace "X" ((trace "X" (check_hof (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))} in
(trace "X" (case (trace "X" (hof_tx)) of {
Prelude.True -> (trace "X" ((trace "X" (Prelude.error (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('m')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('-')) (trace "X" (((:) (trace "X" ('b')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" ('d')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('h')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('g')) (trace "X" (((:) (trace "X" ('h')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('r')) (trace "X" (((:) (trace "X" ('-')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('r')) (trace "X" (((:) (trace "X" ('d')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('r')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('f')) (trace "X" (((:) (trace "X" ('u')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" ('c')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('d')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('h')) (trace "X" (((:) (trace "X" ('>')) (trace "X" (((:) (trace "X" ('0')) (trace "X" ([]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
- Prelude.False -> (trace "X" ((trace "X" (eq_rect_r (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((eq_rect_r (trace "X" (__U03c3___U2082_)) (trace "X" ((let {q = (trace "X" (RLet (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2082_)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))} in (trace "X" (Nd_comp (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_)))))))))))) (trace "X" (__U03a3___U2082_)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2082_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_)))))))))))) (trace "X" (__U03a3___U2082_)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2082_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((SFlat (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((RCanR (trace "X" (__U03a3___U2082_)))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((SFlat (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((RCossa (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_)))))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((SFlat (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_)))))))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((RLeft (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))) (trace "X" (__U03a3___U2081_)) (trace "X" ((RExch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((SFlat (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((RAssoc (trace "X" (__U03a3___U2081_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2082_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((SFlat (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2082_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" (q))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2082_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_)))))))))))) (trace "X" (__U03a3___U2082_)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((SFlat (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2082_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_)))))))))))) (trace "X" (__U03a3___U2082_)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2082_))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_)))))))))))) (trace "X" (__U03a3___U2082_)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((RCossa (trace "X" (__U03a3___U2081_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_)))))))))))) (trace "X" (__U03a3___U2082_))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_)))))))))))) (trace "X" (__U03a3___U2082_)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((SFlat (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_)))))))))))) (trace "X" (__U03a3___U2082_)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_)))))))))))) (trace "X" (__U03a3___U2082_)))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((RLeft (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_)))))))))))) (trace "X" (__U03a3___U2082_))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2081_)) (trace "X" ((RExch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_)))))))))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((SFlat (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_)))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((RAssoc (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))))))))))))))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_)))))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_)))))))))))}))))}));
+ Prelude.False -> (trace "X" ((trace "X" (eq_rect_r (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((eq_rect_r (trace "X" (__U03c3___U2081_)) (trace "X" ((Nd_comp (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" (__U03a3___U2082_))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" (__U03a3___U2082_))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" (__U03a3___U2082_))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" (__U03a3___U2082_))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((SFlat (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))) (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((RCanR (trace "X" (__U03a3___U2081_)))))))))))))) (trace "X" ((trace "X" ((nd_id (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" (__U03a3___U2082_))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))))))))))) (trace "X" ((let {q = (trace "X" (RLet (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))) (trace "X" (__U03c3___U2081_)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))} in (trace "X" (Nd_comp (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" (__U03a3___U2082_))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" (__U03a3___U2082_))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" (__U03a3___U2082_))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((trace "X" ((nd_id (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" (__U03a3___U2082_))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((SFlat (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" (__U03a3___U2082_))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" (__U03a3___U2082_))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((RCossa (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((SFlat (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" (q))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((SFlat (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_)))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((RAssoc (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_)))))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_)))))))))))}))))}));
+ RWhere __U0393_0 __U0394_0 __U03a3___U2081_ __U03a3___U2082_ __U03a3___U2083_ __U03c3___U2081_ __U03c3___U2082_ lev ->
+ (trace "X" (case (trace "X" (lev)) of {
+ ([]) -> (trace "X" (Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (([])))))))))))) (trace "X" (__U03a3___U2083_)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" (__U03a3___U2083_)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((SFlat (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (([])))))))))))) (trace "X" (__U03a3___U2083_)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" (__U03a3___U2083_)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RWhere (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_)) (trace "X" (__U03a3___U2083_)) (trace "X" (__U03c3___U2081_)) (trace "X" (__U03c3___U2082_)) (trace "X" (([])))))))))));
+ (:) h1 lev0 ->
+ (trace "X" (let {hof_tx = (trace "X" ((trace "X" (check_hof (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_))))))} in
+ (trace "X" (case (trace "X" (hof_tx)) of {
+ Prelude.True -> (trace "X" ((trace "X" (Prelude.error (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('m')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('-')) (trace "X" (((:) (trace "X" ('b')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" ('d')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('h')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('g')) (trace "X" (((:) (trace "X" ('h')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('r')) (trace "X" (((:) (trace "X" ('-')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('r')) (trace "X" (((:) (trace "X" ('d')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('r')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('f')) (trace "X" (((:) (trace "X" ('u')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" ('c')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('d')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('h')) (trace "X" (((:) (trace "X" ('>')) (trace "X" (((:) (trace "X" ('0')) (trace "X" ([]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
+ Prelude.False -> (trace "X" ((trace "X" (eq_rect_r (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((eq_rect_r (trace "X" (__U03c3___U2081_)) (trace "X" ((Nd_comp (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" (__U03a3___U2083_)))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" (__U03a3___U2083_)))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" (__U03a3___U2083_)))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" (__U03a3___U2083_)))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" (__U03a3___U2083_)))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((trace "X" ((nd_id (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" (__U03a3___U2083_)))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((SFlat (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((RCanR (trace "X" (__U03a3___U2082_))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" (__U03a3___U2083_)))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" (__U03a3___U2083_))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" (__U03a3___U2083_)))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" (__U03a3___U2083_)))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2083_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" (__U03a3___U2083_))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" (__U03a3___U2083_)))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2083_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2083_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" (__U03a3___U2083_)))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2083_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" (__U03a3___U2083_)))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2083_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((SFlat (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" (__U03a3___U2083_)))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2083_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" (__U03a3___U2083_)))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2083_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((RComp (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" (__U03a3___U2083_)))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" (__U03a3___U2083_))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_)))))))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2083_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))))))))) (trace "X" ((RCossa (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" (__U03a3___U2083_))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))) (trace "X" ((RLeft (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" (__U03a3___U2083_))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2083_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_)))))))))))))))))) (trace "X" (__U03a3___U2081_)) (trace "X" ((RCossa (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" (__U03a3___U2083_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))))))))))) (trace "X" ((trace "X" ((nd_id (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2083_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2083_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((SFlat (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2083_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2083_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((RWhere (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2083_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))) (trace "X" (__U03c3___U2081_)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2083_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" (__U03a3___U2083_))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((SFlat (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2083_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" (__U03a3___U2083_))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2083_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" (__U03a3___U2083_))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((RLeft (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2083_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_)))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" (__U03a3___U2083_))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))) (trace "X" (__U03a3___U2081_)) (trace "X" ((RAssoc (trace "X" (__U03a3___U2082_)) (trace "X" (__U03a3___U2083_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" (__U03a3___U2083_))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" (__U03a3___U2083_)))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((SFlat (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" (__U03a3___U2083_))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" (__U03a3___U2083_)))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" (__U03a3___U2083_))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_)))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" (__U03a3___U2083_)))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((RAssoc (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" (__U03a3___U2083_))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_)))))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3___U2081_)))))))))))}))))}));
RVoid __U0393_0 __U0394_0 -> (trace "X" (Nd_rule (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))))))))) (trace "X" ((SFlat (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))))))))) (trace "X" ((RVoid (trace "X" (__U0393_0)) (trace "X" (__U0394_0))))))))));
RAppT __U0393_0 __U0394_0 __U03a3_ __U03ba_ __U03c3_ __U03c4_ lev ->
(trace "X" (case (trace "X" (lev)) of {
([]) ->
(trace "X" (let {h1 = (trace "X" ((trace "X" (getjlev (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" (y)))))))))))} in
(trace "X" (case (trace "X" (h1)) of {
- ([]) -> (trace "X" (Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (lri)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" (y)))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x1)) (trace "X" (([])))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" (y))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (lri)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x1)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((SFlat (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (lri)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" (y)))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x1)) (trace "X" (([])))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" (y))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (lri)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x1)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RLetRec (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (lri)) (trace "X" (x1)) (trace "X" (y)) (trace "X" (([])))))))))));
+ ([]) -> (trace "X" (Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (lri)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" (y)))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" (y))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x1)) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (lri)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x1)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((SFlat (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (lri)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" (y)))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" (y))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x1)) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (lri)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x1)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RLetRec (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (lri)) (trace "X" (x1)) (trace "X" (y)) (trace "X" (([])))))))))));
(:) h2 h3 -> (trace "X" ((trace "X" (Prelude.error (trace "X" (((:) (trace "X" ('R')) (trace "X" (((:) (trace "X" ('L')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('R')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('c')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('d')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('h')) (trace "X" (((:) (trace "X" ('>')) (trace "X" (((:) (trace "X" ('0')) (trace "X" ([]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))}))));
(:) h1 t0 -> (trace "X" ((trace "X" (Prelude.error (trace "X" (((:) (trace "X" ('R')) (trace "X" (((:) (trace "X" ('L')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('R')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('c')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('d')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('h')) (trace "X" (((:) (trace "X" ('>')) (trace "X" (((:) (trace "X" ('0')) (trace "X" ([]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))}));
RCase __U0393_0 __U0394_0 lev tc __U03a3_ avars tbranches alts -> (trace "X" ((trace "X" (Prelude.error (trace "X" (((:) (trace "X" ('C')) (trace "X" (((:) (trace "X" ('A')) (trace "X" (((:) (trace "X" ('S')) (trace "X" (((:) (trace "X" ('E')) (trace "X" (((:) (trace "X" (':')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('B')) (trace "X" (((:) (trace "X" ('I')) (trace "X" (((:) (trace "X" ('G')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('F')) (trace "X" (((:) (trace "X" ('I')) (trace "X" (((:) (trace "X" ('X')) (trace "X" (((:) (trace "X" ('M')) (trace "X" (((:) (trace "X" ('E')) (trace "X" ([])))))))))))))))))))))))))))))))))))))))))))))))))))}))))) (trace "X" (h)) (trace "X" (c)) (trace "X" (x))))))
boost :: TypeEnv -> CoercionEnv -> (Tree (Prelude.Maybe LeveledHaskType)) -> HaskType -> HaskType -> HaskLevel -> (ND Judg Rule) -> ND Judg Rule
boost __U0393_0 __U0394_0 ant x y lev x0 =
- (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ant)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (ant))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (y)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ant)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (y)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ant)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ant)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (y)) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (ant))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (y)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ant)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ant)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ant)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (y)) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((Nd_rlecnac (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ant)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ant)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ant)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (y)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((trace "X" ((nd_id (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ant)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev))))))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (y)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (y)) (trace "X" (lev)))))))))))))))))))) (trace "X" (x0)) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (y)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (y)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (y)) (trace "X" (lev))))))))))) (trace "X" ((RuCanL (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev))))))))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ant)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (y)) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (ant))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (y)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RLet (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (ant)) (trace "X" (y)) (trace "X" (x)) (trace "X" (lev))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (ant))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (y)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ant)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (y)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (ant))))) (trace "X" (ant)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (y)) (trace "X" (lev))))))))))) (trace "X" ((RCanL (trace "X" (ant)))))))))))))
-
-postcompose' :: (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> Garrow -> TypeEnv -> CoercionEnv -> HaskType -> HaskLevel -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe LeveledHaskType)) -> (ND Judg Rule) -> ND Judg Rule
-postcompose' unitTy prodTy gaTy gar __U0393_0 __U0394_0 ec lev a b c __U03a3_ x =
- (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (b)) (trace "X" (c))))))))) (trace "X" (lev))))))))))) (trace "X" (__U03a3_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (c))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (b)) (trace "X" (c))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (c))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (b)) (trace "X" (c))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (c))))))))) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (b)) (trace "X" (c))))))))) (trace "X" (lev))))))))))) (trace "X" (__U03a3_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (c))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (b)) (trace "X" (c))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (c))))))))) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((Nd_llecnac (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (b)) (trace "X" (c))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (c))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" (x)) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (b)) (trace "X" (c))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (c))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (b)) (trace "X" (c))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (c))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((trace "X" ((ga_comp (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ec)) (trace "X" (lev)) (trace "X" (a)) (trace "X" (b)) (trace "X" (c))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (b)) (trace "X" (c))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (c))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (b)) (trace "X" (c))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (c))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (b)) (trace "X" (c))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (b)) (trace "X" (c))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (c))))))))) (trace "X" (lev))))))))))) (trace "X" ((RExch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (b)) (trace "X" (c))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev))))))))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (b)) (trace "X" (c))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (c))))))))) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (b)) (trace "X" (c))))))))) (trace "X" (lev))))))))))) (trace "X" (__U03a3_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (c))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RLet (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (b)) (trace "X" (c))))))))) (trace "X" (lev))))))))))) (trace "X" (__U03a3_)) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (c))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (b)) (trace "X" (c))))))))) (trace "X" (lev))))))))))) (trace "X" (__U03a3_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (c))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (b)) (trace "X" (c))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (c))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (b)) (trace "X" (c))))))))) (trace "X" (lev))))))))))) (trace "X" (__U03a3_))))) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (b)) (trace "X" (c))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (c))))))))) (trace "X" (lev))))))))))) (trace "X" ((RExch (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (b)) (trace "X" (c))))))))) (trace "X" (lev))))))))))))))))))))))
+ (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ant)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (ant)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (y)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ant)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (y)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ant)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ant)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (y)) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (ant)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (y)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ant)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ant)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ant)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (y)) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((Nd_rlecnac (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ant)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ant)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ant)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (y)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((trace "X" ((nd_id (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ant)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev))))))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (y)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (y)) (trace "X" (lev)))))))))))))))))))) (trace "X" (x0)) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (y)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (y)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (y)) (trace "X" (lev))))))))))) (trace "X" ((RuCanR (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev))))))))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ant)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (y)) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (ant)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (y)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RLet (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ant)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (x)) (trace "X" (y)) (trace "X" (lev))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (ant)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (y)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ant)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (y)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (ant)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" (ant)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (y)) (trace "X" (lev))))))))))) (trace "X" ((RCanR (trace "X" (ant)))))))))))))
precompose :: (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> Garrow -> TypeEnv -> CoercionEnv -> HaskType -> (Tree (Prelude.Maybe LeveledHaskType)) -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> HaskLevel -> ND Judg Rule
precompose unitTy prodTy gaTy gar __U0393_0 __U0394_0 ec a x y z lev =
- (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((Nd_rlecnac (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((trace "X" ((nd_id (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev))))))))))))))))))))))))) (trace "X" ((trace "X" ((ga_comp (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ec)) (trace "X" (lev)) (trace "X" (x)) (trace "X" (y)) (trace "X" (z)))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev))))))))))) (trace "X" (a))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev))))))))))) (trace "X" (a))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RLet (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev))))))))))) (trace "X" (a)) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev)))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev))))))))))) (trace "X" (a))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev))))))))))) (trace "X" (a))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev))))))))))) (trace "X" ((RExch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev))))))))))))))))))))))))))))
+ (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((Nd_rlecnac (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((trace "X" ((nd_id (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev))))))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((trace "X" ((ga_comp (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ec)) (trace "X" (lev)) (trace "X" (x)) (trace "X" (y)) (trace "X" (z))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev))))))))))) (trace "X" ((RExch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev))))))))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RLet (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev))))))))))
-precompose' :: (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> Garrow -> TypeEnv -> CoercionEnv -> HaskType -> HaskLevel -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe LeveledHaskType)) -> (ND Judg Rule) -> ND Judg Rule
-precompose' unitTy prodTy gaTy gar __U0393_0 __U0394_0 ec lev a b c __U03a3_ x =
- (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (b)) (trace "X" (c))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (c))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" (x)) (trace "X" ((trace "X" ((precompose (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ec)) (trace "X" (__U03a3_)) (trace "X" (a)) (trace "X" (b)) (trace "X" (c)) (trace "X" (lev)))))))))
+precompose' :: (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> Garrow -> TypeEnv -> CoercionEnv -> HaskType -> (Tree (Prelude.Maybe LeveledHaskType)) -> (Tree (Prelude.Maybe LeveledHaskType)) -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> HaskLevel -> ND Judg Rule
+precompose' unitTy prodTy gaTy gar __U0393_0 __U0394_0 ec a b x y z lev =
+ (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev))))))))))) (trace "X" (b)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((trace "X" ((precompose (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b))))) (trace "X" (x)) (trace "X" (y)) (trace "X" (z)) (trace "X" (lev))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev))))))))))) (trace "X" ((RCossa (trace "X" (a)) (trace "X" (b)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev))))))))))) (trace "X" (b)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev))))))))))))))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev))))))))))) (trace "X" (b)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev))))))))))) (trace "X" ((RLeft (trace "X" ((T_Branch (trace "X" (b)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev))))))))))) (trace "X" (b))))) (trace "X" (a)) (trace "X" ((RExch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev))))))))))) (trace "X" (b))))))))))))))))
-postcompose :: (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> Garrow -> TypeEnv -> CoercionEnv -> HaskType -> HaskLevel -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> (ND Judg Rule) -> ND Judg Rule
-postcompose unitTy prodTy gaTy gar __U0393_0 __U0394_0 ec lev a b c x =
- (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (b)) (trace "X" (c))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (c))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (b)) (trace "X" (c))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (c))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((trace "X" ((postcompose' (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ec)) (trace "X" (lev)) (trace "X" (a)) (trace "X" (b)) (trace "X" (c)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (x))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (b)) (trace "X" (c))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (c))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (b)) (trace "X" (c))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (c))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (b)) (trace "X" (c))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (b)) (trace "X" (c))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (c))))))))) (trace "X" (lev))))))))))) (trace "X" ((RCanL (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (b)) (trace "X" (c))))))))) (trace "X" (lev))))))))))))))))))))))
+postcompose_ :: (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> Garrow -> TypeEnv -> CoercionEnv -> HaskType -> (Tree (Prelude.Maybe LeveledHaskType)) -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> HaskLevel -> ND Judg Rule
+postcompose_ unitTy prodTy gaTy gar __U0393_0 __U0394_0 ec a x y z lev =
+ (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((Nd_rlecnac (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((trace "X" ((nd_id (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev))))))))))))))))))))))))) (trace "X" ((trace "X" ((ga_comp (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ec)) (trace "X" (lev)) (trace "X" (x)) (trace "X" (y)) (trace "X" (z))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RLet (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev))))))))))
+
+postcompose :: (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> Garrow -> TypeEnv -> CoercionEnv -> HaskType -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> HaskLevel -> (ND Judg Rule) -> ND Judg Rule
+postcompose unitTy prodTy gaTy gar __U0393_0 __U0394_0 ec x y z lev x0 =
+ (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (y))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" (x0)) (trace "X" ((trace "X" ((postcompose_ (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (x)) (trace "X" (y)) (trace "X" (z)) (trace "X" (lev)))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (z))))))))) (trace "X" (lev))))))))))) (trace "X" ((RCanL (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (y)) (trace "X" (z))))))))) (trace "X" (lev))))))))))))))))))))))
+
+first_nd :: (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> Garrow -> TypeEnv -> CoercionEnv -> HaskType -> HaskLevel -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe LeveledHaskType)) -> ND Judg Rule
+first_nd unitTy prodTy gaTy gar __U0393_0 __U0394_0 ec lev a b c __U03a3_ =
+ (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c))))) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (c)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c))))) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (c)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c))))) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (c)))))))))))) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c))))) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (c)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c))))) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (c)))))))))))) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((Nd_rlecnac (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c))))) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (c)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((trace "X" ((nd_id (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev))))))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c))))) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (c)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c))))) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (c)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((trace "X" ((ga_first (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ec)) (trace "X" (lev)) (trace "X" (a)) (trace "X" (b)) (trace "X" (c))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c))))) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (c)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c))))) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (c)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c))))) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (c)))))))))))) (trace "X" (lev))))))))))) (trace "X" ((RuCanR (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev))))))))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c))))) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (c)))))))))))) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c))))) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (c)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RLet (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c))))) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (c)))))))))))) (trace "X" (lev))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c))))) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (c)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c))))) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (c)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c))))) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (c)))))))))))) (trace "X" (lev))))))))))) (trace "X" ((RCanR (trace "X" (__U03a3_)))))))))))))
firstify :: (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> Garrow -> TypeEnv -> CoercionEnv -> HaskType -> HaskLevel -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe LeveledHaskType)) -> (ND Judg Rule) -> ND Judg Rule
firstify unitTy prodTy gaTy gar __U0393_0 __U0394_0 ec lev a b c __U03a3_ x =
- (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (__U03a3_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c))))) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (c)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c))))) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (c)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c))))) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (c)))))))))))) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (__U03a3_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c))))) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (c)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c))))) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (c)))))))))))) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((Nd_llecnac (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c))))) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (c)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" (x)) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c))))) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (c)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c))))) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (c)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((trace "X" ((ga_first (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ec)) (trace "X" (lev)) (trace "X" (a)) (trace "X" (b)) (trace "X" (c))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c))))) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (c)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c))))) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (c)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c))))) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (c)))))))))))) (trace "X" (lev))))))))))) (trace "X" ((RuCanL (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev))))))))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c))))) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (c)))))))))))) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (__U03a3_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c))))) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (c)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RLet (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (__U03a3_)) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c))))) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (c)))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (__U03a3_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c))))) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (c)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c))))) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (c)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (__U03a3_))))) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c))))) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (c)))))))))))) (trace "X" (lev))))))))))) (trace "X" ((RCanL (trace "X" (__U03a3_)))))))))))))
+ (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (c))))) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (c)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" (x)) (trace "X" ((trace "X" ((first_nd (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ec)) (trace "X" (lev)) (trace "X" (a)) (trace "X" (b)) (trace "X" (c)) (trace "X" (__U03a3_)))))))))
+
+second_nd :: (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> Garrow -> TypeEnv -> CoercionEnv -> HaskType -> HaskLevel -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe LeveledHaskType)) -> ND Judg Rule
+second_nd unitTy prodTy gaTy gar __U0393_0 __U0394_0 ec lev a b c __U03a3_ =
+ (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (a))))) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (b)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (a))))) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (b)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (a))))) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (b)))))))))))) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (a))))) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (b)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (a))))) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (b)))))))))))) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((Nd_rlecnac (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (a))))) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (b)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((trace "X" ((nd_id (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev))))))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (a))))) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (b)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (a))))) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (b)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((trace "X" ((ga_second (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ec)) (trace "X" (lev)) (trace "X" (a)) (trace "X" (b)) (trace "X" (c))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (a))))) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (b)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (a))))) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (b)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (a))))) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (b)))))))))))) (trace "X" (lev))))))))))) (trace "X" ((RuCanR (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev))))))))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (a))))) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (b)))))))))))) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (a))))) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (b)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RLet (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (a))))) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (b)))))))))))) (trace "X" (lev))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (a))))) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (b)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (a))))) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (b)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (a))))) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (b)))))))))))) (trace "X" (lev))))))))))) (trace "X" ((RCanR (trace "X" (__U03a3_)))))))))))))
secondify :: (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> Garrow -> TypeEnv -> CoercionEnv -> HaskType -> HaskLevel -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe LeveledHaskType)) -> (ND Judg Rule) -> ND Judg Rule
secondify unitTy prodTy gaTy gar __U0393_0 __U0394_0 ec lev a b c __U03a3_ x =
- (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (__U03a3_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (a))))) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (b)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (a))))) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (b)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (a))))) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (b)))))))))))) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (__U03a3_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (a))))) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (b)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (a))))) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (b)))))))))))) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((Nd_llecnac (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (a))))) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (b)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" (x)) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (a))))) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (b)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (a))))) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (b)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((trace "X" ((ga_second (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ec)) (trace "X" (lev)) (trace "X" (a)) (trace "X" (b)) (trace "X" (c))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (a))))) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (b)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (a))))) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (b)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (a))))) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (b)))))))))))) (trace "X" (lev))))))))))) (trace "X" ((RuCanL (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev))))))))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (a))))) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (b)))))))))))) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (__U03a3_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (a))))) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (b)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RLet (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (__U03a3_)) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (a))))) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (b)))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (__U03a3_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (a))))) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (b)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (a))))) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (b)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (__U03a3_))))) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (a))))) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (b)))))))))))) (trace "X" (lev))))))))))) (trace "X" ((RCanL (trace "X" (__U03a3_)))))))))))))
-
-ga_unkappa' :: (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> Garrow -> TypeEnv -> CoercionEnv -> HaskType -> HaskLevel -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe LeveledHaskType)) -> (Tree (Prelude.Maybe HaskType)) -> ND Judg Rule
-ga_unkappa' unitTy prodTy gaTy gar __U0393_0 __U0394_0 ec l a b __U03a3_ x =
- (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x))))) (trace "X" (b))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (a))))))))) (trace "X" (l))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (x))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (x))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (b))))))))) (trace "X" (l))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (a))))))))) (trace "X" (l)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (b))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x))))) (trace "X" (b))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x))))) (trace "X" (b))))))))) (trace "X" (l))))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (a))))))))) (trace "X" (l))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (x))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (x))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (b))))))))) (trace "X" (l))))))))))))))))))))))) (trace "X" ((Nd_llecnac (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x))))) (trace "X" (b))))))))) (trace "X" (l))))))))))))))))))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x))))) (trace "X" (b))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (a))))))))) (trace "X" (l))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (x))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (x))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (b))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((trace "X" ((ga_first (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ec)) (trace "X" (l)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (a)) (trace "X" (x))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x))))) (trace "X" (b))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (x))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (b))))))))) (trace "X" (l))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (x))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (b))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x))))) (trace "X" (b))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x))))) (trace "X" (b))))))))) (trace "X" (l))))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (x))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (b))))))))) (trace "X" (l))))))))))))))))))))))) (trace "X" ((Nd_llecnac (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x))))) (trace "X" (b))))))))) (trace "X" (l))))))))))))))))))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x))))) (trace "X" (b))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (x))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (b))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((trace "X" ((postcompose (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ec)) (trace "X" (l)) (trace "X" (x)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (x))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x))))) (trace "X" ((trace "X" ((ga_uncancell (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ec)) (trace "X" (l)) (trace "X" (x)))))))))))) (trace "X" ((trace "X" ((precompose (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ec)) (trace "X" (__U03a3_)) (trace "X" (x)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x))))) (trace "X" (b)) (trace "X" (l))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (x))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (b))))))))) (trace "X" (l))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (x))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (b))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((RLet (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (x))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (b))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (a))))))))) (trace "X" (l))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (x))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (x))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (b))))))))) (trace "X" (l))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (a))))))))) (trace "X" (l)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (b))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((RLet (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (a))))))))) (trace "X" (l))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (b))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (x))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l))))))))))
+ (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (a)) (trace "X" (b))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (a))))) (trace "X" ((T_Branch (trace "X" (c)) (trace "X" (b)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" (x)) (trace "X" ((trace "X" ((second_nd (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ec)) (trace "X" (lev)) (trace "X" (a)) (trace "X" (b)) (trace "X" (c)) (trace "X" (__U03a3_)))))))))
-ga_kappa' :: (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> TypeEnv -> CoercionEnv -> HaskType -> HaskLevel -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe LeveledHaskType)) -> (Tree (Prelude.Maybe HaskType)) -> ND Judg Rule
-ga_kappa' unitTy prodTy gaTy =
- (trace "X" ((trace "X" (Prelude.error (trace "X" (((:) (trace "X" ('g')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('_')) (trace "X" (((:) (trace "X" ('k')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('u')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('r')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('d')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('y')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('(')) (trace "X" (((:) (trace "X" ('B')) (trace "X" (((:) (trace "X" ('I')) (trace "X" (((:) (trace "X" ('G')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('F')) (trace "X" (((:) (trace "X" ('I')) (trace "X" (((:) (trace "X" ('X')) (trace "X" (((:) (trace "X" ('M')) (trace "X" (((:) (trace "X" ('E')) (trace "X" (((:) (trace "X" (')')) (trace "X" ([]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+ga_unkappa :: (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> Garrow -> TypeEnv -> CoercionEnv -> HaskType -> HaskLevel -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe LeveledHaskType)) -> (Tree (Prelude.Maybe HaskType)) -> ND Judg Rule
+ga_unkappa unitTy prodTy gaTy gar __U0393_0 __U0394_0 ec l a b __U03a3_ x =
+ (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x))))) (trace "X" (b))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (a))))))))) (trace "X" (l))))))))))) (trace "X" (__U03a3_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (b))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (a))))))))) (trace "X" (l)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (b))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x))))) (trace "X" (b))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (a))))))))) (trace "X" (l))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (x))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (x))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l))))))))))) (trace "X" (__U03a3_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (b))))))))) (trace "X" (l))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (a))))))))) (trace "X" (l))))))))))) (trace "X" (__U03a3_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (b))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x))))) (trace "X" (b))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x))))) (trace "X" (b))))))))) (trace "X" (l))))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (a))))))))) (trace "X" (l))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (x))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (x))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l))))))))))) (trace "X" (__U03a3_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (b))))))))) (trace "X" (l))))))))))))))))))))))) (trace "X" ((Nd_llecnac (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x))))) (trace "X" (b))))))))) (trace "X" (l))))))))))))))))))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x))))) (trace "X" (b))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (a))))))))) (trace "X" (l))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (x))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (x))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l))))))))))) (trace "X" (__U03a3_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (b))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((trace "X" ((ga_first (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ec)) (trace "X" (l)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (a)) (trace "X" (x))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x))))) (trace "X" (b))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (x))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l))))))))))) (trace "X" (__U03a3_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (b))))))))) (trace "X" (l))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (x))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l))))))))))) (trace "X" (__U03a3_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (b))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x))))) (trace "X" (b))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x))))) (trace "X" (b))))))))) (trace "X" (l))))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (x))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l))))))))))) (trace "X" (__U03a3_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (b))))))))) (trace "X" (l))))))))))))))))))))))) (trace "X" ((Nd_llecnac (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x))))) (trace "X" (b))))))))) (trace "X" (l))))))))))))))))))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x))))) (trace "X" (b))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (x))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l))))))))))) (trace "X" (__U03a3_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (b))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((trace "X" ((postcompose (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (x))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x))))) (trace "X" (l)) (trace "X" ((trace "X" ((ga_uncancell (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ec)) (trace "X" (l)) (trace "X" (x)))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x))))) (trace "X" (b))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (b))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l))))))))))) (trace "X" (__U03a3_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (b))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((trace "X" ((precompose (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ec)) (trace "X" (__U03a3_)) (trace "X" (x)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x))))) (trace "X" (b)) (trace "X" (l))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (b))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l))))))))))) (trace "X" (__U03a3_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (b))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l)))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l))))))))))) (trace "X" (__U03a3_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (b))))))))) (trace "X" (l))))))))))) (trace "X" ((RExch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l))))))))))) (trace "X" (__U03a3_)))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (x))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l))))))))))) (trace "X" (__U03a3_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (b))))))))) (trace "X" (l))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (x))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l))))))))))) (trace "X" (__U03a3_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (b))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((RLet (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (x))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l))))))))))) (trace "X" (__U03a3_)) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (b))))))))) (trace "X" (l))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (a))))))))) (trace "X" (l))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (x))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (x))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" (l))))))))))) (trace "X" (__U03a3_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (b))))))))) (trace "X" (l))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (a))))))))) (trace "X" (l))))))))))) (trace "X" (__U03a3_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (b))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((RLet (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (a))))))))) (trace "X" (l))))))))))) (trace "X" (__U03a3_)) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (x))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (x)))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (b))))))))) (trace "X" (l))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (a))))))))) (trace "X" (l))))))))))) (trace "X" (__U03a3_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (b))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (a))))))))) (trace "X" (l)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (b))))))))) (trace "X" (l)))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (a))))))))) (trace "X" (l))))))))))) (trace "X" (__U03a3_))))) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (a))))))))) (trace "X" (l)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (x)) (trace "X" (b))))))))) (trace "X" (l))))))))))) (trace "X" ((RExch (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (a))))))))) (trace "X" (l))))))))))))))))))))))
flatten_arrangement' :: (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> Garrow -> TypeEnv -> CoercionEnv -> HaskTyVar -> HaskLevel -> (Tree (Prelude.Maybe LeveledHaskType)) -> (Tree (Prelude.Maybe LeveledHaskType)) -> (Arrange LeveledHaskType) -> ND Judg Rule
flatten_arrangement' unitTy prodTy gaTy gar __U0393_0 __U0394_0 ec lev ant1 ant2 r =
Prelude.False -> (trace "X" (Tf_leaf_false (trace "X" (x))))}));
T_Branch b1 b2 -> (trace "X" (Tf_branch (trace "X" (b1)) (trace "X" (b2)) (trace "X" ((trace "X" ((mkFlags0 (trace "X" (f)) (trace "X" (b1))))))) (trace "X" ((trace "X" ((mkFlags0 (trace "X" (f)) (trace "X" (b2)))))))))}))}
in mkFlags0 (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.True)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (x))))))))))))))))))) (trace "X" (c)))))))))))))))))))))))))))));
- RComp c b a r1 r2 -> (trace "X" (let {a' = (trace "X" ((trace "X" (mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (a)))))))))))} in (trace "X" (let {b' = (trace "X" ((trace "X" (mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (b)))))))))))} in (trace "X" (let {c' = (trace "X" ((trace "X" (mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (c)))))))))))} in (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((Nd_llecnac (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((trace "X" ((flatten_arrangement' (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ec)) (trace "X" (lev)) (trace "X" (b)) (trace "X" (a)) (trace "X" (r2))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (b')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (b')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (b')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (b')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((Nd_llecnac (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (b')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (b')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((trace "X" ((flatten_arrangement' (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ec)) (trace "X" (lev)) (trace "X" (c)) (trace "X" (b)) (trace "X" (r1))))))) (trace "X" ((trace "X" ((ga_comp (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (([]))) (trace "X" (a')) (trace "X" (b')) (trace "X" (c'))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (b')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (b')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RLet (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (b')) (trace "X" (c'))))))))) (trace "X" (([])))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([])))))))))))) (trace "X" ((RCanR (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([])))))))))))) (trace "X" ((RuCanL (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([])))))))))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RLet (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([])))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([])))))))))))) (trace "X" ((RCanL (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))))))))))}))
+ RComp c b a r1 r2 -> (trace "X" (let {a' = (trace "X" ((trace "X" (mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (a)))))))))))} in (trace "X" (let {b' = (trace "X" ((trace "X" (mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (b)))))))))))} in (trace "X" (let {c' = (trace "X" ((trace "X" (mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (c)))))))))))} in (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((Nd_llecnac (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((trace "X" ((flatten_arrangement' (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ec)) (trace "X" (lev)) (trace "X" (b)) (trace "X" (a)) (trace "X" (r2))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (b')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (b')) (trace "X" (c'))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (b')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (b')) (trace "X" (c'))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((Nd_llecnac (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (b')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (b')) (trace "X" (c'))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((trace "X" ((flatten_arrangement' (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ec)) (trace "X" (lev)) (trace "X" (c)) (trace "X" (b)) (trace "X" (r1))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (b')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (b')) (trace "X" (c'))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((trace "X" ((ga_comp (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (([]))) (trace "X" (a')) (trace "X" (b')) (trace "X" (c'))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (b')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (b')) (trace "X" (c'))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (b')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (b')) (trace "X" (c'))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([])))))))))))) (trace "X" ((RExch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (b')) (trace "X" (c'))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([])))))))))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (b')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (b')) (trace "X" (c'))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RLet (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([])))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (b')) (trace "X" (c'))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([])))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([])))))))))))) (trace "X" ((RCanL (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([])))))))))))) (trace "X" ((RuCanR (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([])))))))))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RLet (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (b'))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([])))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (a')) (trace "X" (c'))))))))) (trace "X" (([])))))))))))) (trace "X" ((RCanL (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))))))))))}))
flatten_arrangement :: (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> Garrow -> TypeEnv -> CoercionEnv -> HaskLevel -> HaskTyVar -> HaskLevel -> (Tree (Prelude.Maybe LeveledHaskType)) -> (Tree (Prelude.Maybe LeveledHaskType)) -> (Arrange LeveledHaskType) -> (Tree (Prelude.Maybe LeveledHaskType)) -> ND Judg Rule
flatten_arrangement unitTy prodTy gaTy gar __U0393_0 __U0394_0 n ec lev ant1 ant2 r succ =
Prelude.False -> (trace "X" (Tf_leaf_false (trace "X" (x))))}));
T_Branch b1 b2 -> (trace "X" (Tf_branch (trace "X" (b1)) (trace "X" (b2)) (trace "X" ((trace "X" ((mkFlags0 (trace "X" (f)) (trace "X" (b1))))))) (trace "X" ((trace "X" ((mkFlags0 (trace "X" (f)) (trace "X" (b2)))))))))}))}
in mkFlags0 (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (n)))))))))))) (trace "X" (c))))))))))))))))) (trace "X" ((trace "X" ((flatten (trace "X" (a)) (trace "X" (b)) (trace "X" (r1))))))) (trace "X" ((trace "X" ((flatten (trace "X" (b)) (trace "X" (c)) (trace "X" (r2)))))))))}))}
- in flatten (trace "X" (ant1)) (trace "X" (ant2)) (trace "X" (r))))))))))))) (trace "X" ((trace "X" ((boost (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (n)) (trace "X" (ant2)))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (ant1)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" (succ)))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (ant2)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" (succ)))))))))))))) (trace "X" (([]))) (trace "X" ((trace "X" ((postcompose (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (([]))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (ant2)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (ant1)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" (succ))))))) (trace "X" ((trace "X" ((flatten_arrangement' (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ec)) (trace "X" (lev)) (trace "X" (ant1)) (trace "X" (ant2)) (trace "X" (r)))))))))))))))))))
+ in flatten (trace "X" (ant1)) (trace "X" (ant2)) (trace "X" (r))))))))))))) (trace "X" ((trace "X" ((boost (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (n)) (trace "X" (ant2)))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (ant1)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" (succ)))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (ant2)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" (succ)))))))))))))) (trace "X" (([]))) (trace "X" ((trace "X" ((postcompose (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (ant2)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (ant1)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" (succ))))))) (trace "X" (([]))) (trace "X" ((trace "X" ((flatten_arrangement' (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ec)) (trace "X" (lev)) (trace "X" (ant1)) (trace "X" (ant2)) (trace "X" (r)))))))))))))))))))
flatten_arrangement'' :: (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> Garrow -> TypeEnv -> CoercionEnv -> (Tree (Prelude.Maybe LeveledHaskType)) -> (Tree (Prelude.Maybe LeveledHaskType)) -> (Tree (Prelude.Maybe LeveledHaskType)) -> (Arrange LeveledHaskType) -> ND Judg Rule
flatten_arrangement'' unitTy prodTy gaTy gar __U0393_0 __U0394_0 ant1 ant2 succ r =
ga_join :: (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> Garrow -> TypeEnv -> CoercionEnv -> (Tree (Prelude.Maybe LeveledHaskType)) -> (Tree (Prelude.Maybe LeveledHaskType)) -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> HaskType -> (ND Judg Rule) -> (ND Judg Rule) -> ND Judg Rule
ga_join unitTy prodTy gaTy gar __U0393_0 __U0394_0 __U03a3___U2081_ __U03a3___U2082_ a b ec pfa pfb =
- (trace "X" (let {pfb0 = (trace "X" ((trace "X" (secondify (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ec)) (trace "X" (([]))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (b)) (trace "X" (a)) (trace "X" (__U03a3___U2082_)) (trace "X" (pfb))))))} in (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b)))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((trace "X" ((nd_id (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b)))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b)))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b)))))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b)))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b)))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b)))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b)))))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((Nd_llecnac (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b)))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b)))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b)))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" (pfb0)) (trace "X" ((trace "X" ((postcompose' (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ec)) (trace "X" (([]))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b))))) (trace "X" (__U03a3___U2081_)) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (a))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" (pfa)) (trace "X" ((trace "X" ((boost (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (a))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([]))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (a))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (a))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((trace "X" ((precompose' (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ec)) (trace "X" (([]))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (a)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((ga_uncancelr (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ec)) (trace "X" (([]))) (trace "X" (a)))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (a))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (a))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (a))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (a))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((RCanL (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (a))))))))) (trace "X" (([]))))))))))))))))))))))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b)))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b)))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b)))))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b)))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RLet (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_)) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b)))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b)))))))))))) (trace "X" (([]))))))))))))))))
+ (trace "X" (let {pfb0 = (trace "X" ((trace "X" (secondify (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ec)) (trace "X" (([]))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (b)) (trace "X" (a)) (trace "X" (__U03a3___U2082_)) (trace "X" (pfb))))))} in (trace "X" (let {pfa0 = (trace "X" ((trace "X" (firstify (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ec)) (trace "X" (([]))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (__U03a3___U2081_)) (trace "X" (pfa))))))} in (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (__U03a3___U2082_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b)))))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b)))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (__U03a3___U2082_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b)))))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((Nd_llecnac (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (__U03a3___U2082_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b)))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" (pfa0)) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (__U03a3___U2082_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b)))))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (__U03a3___U2082_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b)))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (__U03a3___U2082_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b)))))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((Nd_llecnac (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (__U03a3___U2082_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b)))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((trace "X" ((ga_uncancelr (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ec)) (trace "X" (([]))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))))) (trace "X" ((trace "X" ((postcompose_ (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" (([]))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((RCanL (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b)))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (__U03a3___U2082_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b)))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b)))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b)))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" (pfb0)) (trace "X" ((trace "X" ((precompose (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ec)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b))))) (trace "X" (([]))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b)))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (__U03a3___U2082_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b)))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (__U03a3___U2082_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b)))))))))))) (trace "X" (([])))))))))))) (trace "X" ((RExch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (__U03a3___U2082_)))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (__U03a3___U2082_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b)))))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (__U03a3___U2082_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b)))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RLet (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (__U03a3___U2082_)) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b)))))))))))) (trace "X" (([])))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (__U03a3___U2082_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b)))))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b)))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RLet (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_)) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (b)))))))))))) (trace "X" (([])))))))))))))))
arrange_brak :: (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> Garrow -> TypeEnv -> CoercionEnv -> HaskTyVar -> (Tree (Prelude.Maybe LeveledHaskType)) -> HaskType -> ND Judg Rule
arrange_brak unitTy prodTy gaTy gar __U0393_0 __U0394_0 ec succ t =
(trace "X" (let {q = (trace "X" ((trace "X" (arrange' (trace "X" (succ)) (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))))))))))))} in
(trace "X" (let {y = (trace "X" ((trace "X" (arrangeMap (trace "X" ((T_Branch (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))))))))))))) (trace "X" (succ)))))))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x))))))))))))))))))) (trace "X" (succ))))))))))))))) (trace "X" (succ)) (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q))))))} in
- (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkDropFlags (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))))))))))))) (trace "X" (succ)))))))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x))))))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (succ))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkDropFlags (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkDropFlags (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))))))))))))) (trace "X" (succ))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x))))))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_llecnac (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkDropFlags (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkDropFlags (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x))))))))))))))))))) (trace "X" (succ))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))))))))))))) (trace "X" (succ))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))))))))))))) (trace "X" (succ))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x))))))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkDropFlags (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x))))))))))))))))))) (trace "X" (succ))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))))))))))))) (trace "X" (succ))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))))))))))))
+ (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkDropFlags (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))))))))))))) (trace "X" (succ)))))))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x))))))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (succ))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkDropFlags (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch
+ (trace "X" ((trace "X" ((let {
+ mapOptionTree0 f t0 =
+ (trace "X" (case (trace "X" (t0)) of {
+ T_Leaf o ->
+ (trace "X" (case (trace "X" (o)) of {
+ Prelude.Just x -> (trace "X" (T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((f (trace "X" (x))))))))))));
+ Prelude.Nothing -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))))}));
+ T_Branch l r -> (trace "X" (T_Branch (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (l))))))) (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (r)))))))))}))}
+ in mapOptionTree0 (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x))))))))))))))))))) (trace "X" (succ)))))))))))))))))
+ (trace "X" ((trace "X" ((let {
+ mapOptionTree0 f t0 =
+ (trace "X" (case (trace "X" (t0)) of {
+ T_Leaf o ->
+ (trace "X" (case (trace "X" (o)) of {
+ Prelude.Just x -> (trace "X" (T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((f (trace "X" (x))))))))))));
+ Prelude.Nothing -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))))}));
+ T_Branch l r -> (trace "X" (T_Branch (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (l))))))) (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (r)))))))))}))}
+ in mapOptionTree0 (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))))))))))))) (trace "X" (succ)))))))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x))))))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkDropFlags (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkDropFlags (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch
+ (trace "X" ((trace "X" ((let {
+ mapOptionTree0 f t0 =
+ (trace "X" (case (trace "X" (t0)) of {
+ T_Leaf o ->
+ (trace "X" (case (trace "X" (o)) of {
+ Prelude.Just x -> (trace "X" (T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((f (trace "X" (x))))))))))));
+ Prelude.Nothing -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))))}));
+ T_Branch l r -> (trace "X" (T_Branch (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (l))))))) (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (r)))))))))}))}
+ in mapOptionTree0 (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x))))))))))))))))))) (trace "X" (succ)))))))))))))))))
+ (trace "X" ((trace "X" ((let {
+ mapOptionTree0 f t0 =
+ (trace "X" (case (trace "X" (t0)) of {
+ T_Leaf o ->
+ (trace "X" (case (trace "X" (o)) of {
+ Prelude.Just x -> (trace "X" (T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((f (trace "X" (x))))))))))));
+ Prelude.Nothing -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))))}));
+ T_Branch l r -> (trace "X" (T_Branch (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (l))))))) (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (r)))))))))}))}
+ in mapOptionTree0 (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_llecnac (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkDropFlags (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkDropFlags (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0))
+ (trace "X" ((trace "X" ((let {
+ mapOptionTree0 f t0 =
+ (trace "X" (case (trace "X" (t0)) of {
+ T_Leaf o ->
+ (trace "X" (case (trace "X" (o)) of {
+ Prelude.Just x -> (trace "X" (T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((f (trace "X" (x))))))))))));
+ Prelude.Nothing -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))))}));
+ T_Branch l r -> (trace "X" (T_Branch (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (l))))))) (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (r)))))))))}))}
+ in mapOptionTree0 (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x))))))))))))))))))) (trace "X" (succ))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([]))))))))))))
+ (trace "X" ((trace "X" ((let {
+ mapOptionTree0 f t0 =
+ (trace "X" (case (trace "X" (t0)) of {
+ T_Leaf o ->
+ (trace "X" (case (trace "X" (o)) of {
+ Prelude.Just x -> (trace "X" (T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((f (trace "X" (x))))))))))));
+ Prelude.Nothing -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))))}));
+ T_Branch l r -> (trace "X" (T_Branch (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (l))))))) (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (r)))))))))}))}
+ in mapOptionTree0 (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch
+ (trace "X" ((trace "X" ((let {
+ mapOptionTree0 f t0 =
+ (trace "X" (case (trace "X" (t0)) of {
+ T_Leaf o ->
+ (trace "X" (case (trace "X" (o)) of {
+ Prelude.Just x -> (trace "X" (T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((f (trace "X" (x))))))))))));
+ Prelude.Nothing -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))))}));
+ T_Branch l r -> (trace "X" (T_Branch (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (l))))))) (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (r)))))))))}))}
+ in mapOptionTree0 (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x))))))))))))))))))) (trace "X" (succ)))))))))))))))))
+ (trace "X" ((trace "X" ((let {
+ mapOptionTree0 f t0 =
+ (trace "X" (case (trace "X" (t0)) of {
+ T_Leaf o ->
+ (trace "X" (case (trace "X" (o)) of {
+ Prelude.Just x -> (trace "X" (T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((f (trace "X" (x))))))))))));
+ Prelude.Nothing -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))))}));
+ T_Branch l r -> (trace "X" (T_Branch (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (l))))))) (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (r)))))))))}))}
+ in mapOptionTree0 (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkDropFlags (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0))
+ (trace "X" ((trace "X" ((let {
+ mapOptionTree0 f t0 =
+ (trace "X" (case (trace "X" (t0)) of {
+ T_Leaf o ->
+ (trace "X" (case (trace "X" (o)) of {
+ Prelude.Just x -> (trace "X" (T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((f (trace "X" (x))))))))))));
+ Prelude.Nothing -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))))}));
+ T_Branch l r -> (trace "X" (T_Branch (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (l))))))) (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (r)))))))))}))}
+ in mapOptionTree0 (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x))))))))))))))))))) (trace "X" (succ))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([]))))))))))))
+ (trace "X" ((trace "X" ((let {
+ mapOptionTree0 f t0 =
+ (trace "X" (case (trace "X" (t0)) of {
+ T_Leaf o ->
+ (trace "X" (case (trace "X" (o)) of {
+ Prelude.Just x -> (trace "X" (T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((f (trace "X" (x))))))))))));
+ Prelude.Nothing -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))))}));
+ T_Branch l r -> (trace "X" (T_Branch (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (l))))))) (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (r)))))))))}))}
+ in mapOptionTree0 (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))))))))))))
(trace "X" ((trace "X" ((tree_rect (trace "X" ((\a ->
(trace "X" (case (trace "X" (a)) of {
Prelude.Just l ->
(trace "X" (case (trace "X" (q0)) of {
Prelude.True -> (trace "X" ((trace "X" (eq_rect (trace "X" (ec)) (trace "X" ((\_ -> (trace "X" ((trace "X" (eq_rect (trace "X" (([]))) (trace "X" ((trace "X" ((eq_rect_r (trace "X" (([]))) (trace "X" ((\_ -> (trace "X" ((trace "X" (eq_rect_r (trace "X" (ec)) (trace "X" ((\_ -> (trace "X" (Nd_rule (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (t')))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RVar (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\_ ite -> (trace "X" ((trace "X" (gaTy (trace "X" (__)) (trace "X" ((trace "X" ((v2t (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (ite))))))) (trace "X" ((trace "X" ((ga_mk_tree (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (ite))))))) (trace "X" ((trace "X" ((ga_mk_tree (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ ite0 -> (trace "X" ((trace "X" (flatten_rawtype (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (KindStar)) (trace "X" ((trace "X" ((t' (trace "X" (__)) (trace "X" (ite0)))))))))))))))))))) (trace "X" (ite)))))))))))))) (trace "X" (([]))))))))))) (trace "X" (ec')) (trace "X" (__))))))))) (trace "X" (lev'0)) (trace "X" (__))))))) (trace "X" (lev'0))))))))) (trace "X" (ec')) (trace "X" (__))))));
Prelude.False -> (trace "X" ((trace "X" (ga_id (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (([]))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))))}))))}))}));
- Prelude.Nothing -> (trace "X" ((trace "X" (ga_id (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (([]))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))))}))))) (trace "X" ((\succ1 iHsucc1 succ2 iHsucc2 -> (trace "X" ((trace "X" (ga_join (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ1)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x))))))))))))))))))) (trace "X" (succ1))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ2)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x))))))))))))))))))) (trace "X" (succ2))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ1)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.True)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x))))))))))))))))))) (trace "X" (succ1))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ2)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.True)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x))))))))))))))))))) (trace "X" (succ2))))))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (iHsucc1)) (trace "X" (iHsucc2))))))))) (trace "X" (succ))))))) (trace "X" ((trace "X" ((nd_id (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))))))))))))) (trace "X" (succ))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x))))))))))))))))))) (trace "X" (succ))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))))))))))))) (trace "X" (succ))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))))))))))))) (trace "X" (succ))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x))))))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RLet (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))))))))))))) (trace "X" (succ))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x))))))))))))))))))) (trace "X" (succ))))))))))))))))) (trace "X" (t)) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))))))))))))) (trace "X" (succ)))))))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x))))))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (succ))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))))))))))))) (trace "X" (succ)))))))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x))))))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (succ))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))) (trace "X" (y))))))))))))))
+ Prelude.Nothing -> (trace "X" ((trace "X" (ga_id (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (([]))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))))}))))) (trace "X" ((\succ1 iHsucc1 succ2 iHsucc2 ->
+ (trace "X" ((trace "X" (ga_join (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0))
+ (trace "X" ((trace "X" ((let {
+ mapOptionTree0 f t0 =
+ (trace "X" (case (trace "X" (t0)) of {
+ T_Leaf o ->
+ (trace "X" (case (trace "X" (o)) of {
+ Prelude.Just x -> (trace "X" (T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((f (trace "X" (x))))))))))));
+ Prelude.Nothing -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))))}));
+ T_Branch l r -> (trace "X" (T_Branch (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (l))))))) (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (r)))))))))}))}
+ in mapOptionTree0 (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ1)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x))))))))))))))))))) (trace "X" (succ1)))))))))))))))))
+ (trace "X" ((trace "X" ((let {
+ mapOptionTree0 f t0 =
+ (trace "X" (case (trace "X" (t0)) of {
+ T_Leaf o ->
+ (trace "X" (case (trace "X" (o)) of {
+ Prelude.Just x -> (trace "X" (T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((f (trace "X" (x))))))))))));
+ Prelude.Nothing -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))))}));
+ T_Branch l r -> (trace "X" (T_Branch (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (l))))))) (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (r)))))))))}))}
+ in mapOptionTree0 (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ2)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x))))))))))))))))))) (trace "X" (succ2))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ1)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.True)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x))))))))))))))))))) (trace "X" (succ1))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ2)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.True)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x))))))))))))))))))) (trace "X" (succ2))))))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (iHsucc1)) (trace "X" (iHsucc2))))))))) (trace "X" (succ)))))))
+ (trace "X" ((trace "X" ((nd_id (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([]))))))))))))
+ (trace "X" ((trace "X" ((let {
+ mapOptionTree0 f t0 =
+ (trace "X" (case (trace "X" (t0)) of {
+ T_Leaf o ->
+ (trace "X" (case (trace "X" (o)) of {
+ Prelude.Just x -> (trace "X" (T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((f (trace "X" (x))))))))))));
+ Prelude.Nothing -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))))}));
+ T_Branch l r -> (trace "X" (T_Branch (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (l))))))) (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (r)))))))))}))}
+ in mapOptionTree0 (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0))
+ (trace "X" ((trace "X" ((let {
+ mapOptionTree0 f t0 =
+ (trace "X" (case (trace "X" (t0)) of {
+ T_Leaf o ->
+ (trace "X" (case (trace "X" (o)) of {
+ Prelude.Just x -> (trace "X" (T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((f (trace "X" (x))))))))))));
+ Prelude.Nothing -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))))}));
+ T_Branch l r -> (trace "X" (T_Branch (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (l))))))) (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (r)))))))))}))}
+ in mapOptionTree0 (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x))))))))))))))))))) (trace "X" (succ))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([]))))))))))))
+ (trace "X" ((trace "X" ((let {
+ mapOptionTree0 f t0 =
+ (trace "X" (case (trace "X" (t0)) of {
+ T_Leaf o ->
+ (trace "X" (case (trace "X" (o)) of {
+ Prelude.Just x -> (trace "X" (T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((f (trace "X" (x))))))))))));
+ Prelude.Nothing -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))))}));
+ T_Branch l r -> (trace "X" (T_Branch (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (l))))))) (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (r)))))))))}))}
+ in mapOptionTree0 (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch
+ (trace "X" ((trace "X" ((let {
+ mapOptionTree0 f t0 =
+ (trace "X" (case (trace "X" (t0)) of {
+ T_Leaf o ->
+ (trace "X" (case (trace "X" (o)) of {
+ Prelude.Just x -> (trace "X" (T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((f (trace "X" (x))))))))))));
+ Prelude.Nothing -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))))}));
+ T_Branch l r -> (trace "X" (T_Branch (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (l))))))) (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (r)))))))))}))}
+ in mapOptionTree0 (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x))))))))))))))))))) (trace "X" (succ)))))))))))))))))
+ (trace "X" ((trace "X" ((let {
+ mapOptionTree0 f t0 =
+ (trace "X" (case (trace "X" (t0)) of {
+ T_Leaf o ->
+ (trace "X" (case (trace "X" (o)) of {
+ Prelude.Just x -> (trace "X" (T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((f (trace "X" (x))))))))))));
+ Prelude.Nothing -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))))}));
+ T_Branch l r -> (trace "X" (T_Branch (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (l))))))) (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (r)))))))))}))}
+ in mapOptionTree0 (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RLet (trace "X" (__U0393_0)) (trace "X" (__U0394_0))
+ (trace "X" ((trace "X" ((let {
+ mapOptionTree0 f t0 =
+ (trace "X" (case (trace "X" (t0)) of {
+ T_Leaf o ->
+ (trace "X" (case (trace "X" (o)) of {
+ Prelude.Just x -> (trace "X" (T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((f (trace "X" (x))))))))))));
+ Prelude.Nothing -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))))}));
+ T_Branch l r -> (trace "X" (T_Branch (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (l))))))) (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (r)))))))))}))}
+ in mapOptionTree0 (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x))))))))))))))))))) (trace "X" (succ)))))))))))))))))
+ (trace "X" ((trace "X" ((let {
+ mapOptionTree0 f t0 =
+ (trace "X" (case (trace "X" (t0)) of {
+ T_Leaf o ->
+ (trace "X" (case (trace "X" (o)) of {
+ Prelude.Just x -> (trace "X" (T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((f (trace "X" (x))))))))))));
+ Prelude.Nothing -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))))}));
+ T_Branch l r -> (trace "X" (T_Branch (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (l))))))) (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (r)))))))))}))}
+ in mapOptionTree0 (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))))))))))))) (trace "X" (succ))))))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (t)) (trace "X" (([]))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch
+ (trace "X" ((trace "X" ((let {
+ mapOptionTree0 f t0 =
+ (trace "X" (case (trace "X" (t0)) of {
+ T_Leaf o ->
+ (trace "X" (case (trace "X" (o)) of {
+ Prelude.Just x -> (trace "X" (T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((f (trace "X" (x))))))))))));
+ Prelude.Nothing -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))))}));
+ T_Branch l r -> (trace "X" (T_Branch (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (l))))))) (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (r)))))))))}))}
+ in mapOptionTree0 (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x))))))))))))))))))) (trace "X" (succ)))))))))))))))))
+ (trace "X" ((trace "X" ((let {
+ mapOptionTree0 f t0 =
+ (trace "X" (case (trace "X" (t0)) of {
+ T_Leaf o ->
+ (trace "X" (case (trace "X" (o)) of {
+ Prelude.Just x -> (trace "X" (T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((f (trace "X" (x))))))))))));
+ Prelude.Nothing -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))))}));
+ T_Branch l r -> (trace "X" (T_Branch (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (l))))))) (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (r)))))))))}))}
+ in mapOptionTree0 (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))))))))))))) (trace "X" (succ)))))))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x))))))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch
+ (trace "X" ((trace "X" ((let {
+ mapOptionTree0 f t0 =
+ (trace "X" (case (trace "X" (t0)) of {
+ T_Leaf o ->
+ (trace "X" (case (trace "X" (o)) of {
+ Prelude.Just x -> (trace "X" (T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((f (trace "X" (x))))))))))));
+ Prelude.Nothing -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))))}));
+ T_Branch l r -> (trace "X" (T_Branch (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (l))))))) (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (r)))))))))}))}
+ in mapOptionTree0 (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x))))))))))))))))))) (trace "X" (succ)))))))))))))))))
+ (trace "X" ((trace "X" ((let {
+ mapOptionTree0 f t0 =
+ (trace "X" (case (trace "X" (t0)) of {
+ T_Leaf o ->
+ (trace "X" (case (trace "X" (o)) of {
+ Prelude.Just x -> (trace "X" (T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((f (trace "X" (x))))))))))));
+ Prelude.Nothing -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))))}));
+ T_Branch l r -> (trace "X" (T_Branch (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (l))))))) (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (r)))))))))}))}
+ in mapOptionTree0 (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))))))))))))) (trace "X" (succ)))))))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x))))))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))) (trace "X" ((RExch
+ (trace "X" ((trace "X" ((let {
+ mapOptionTree0 f t0 =
+ (trace "X" (case (trace "X" (t0)) of {
+ T_Leaf o ->
+ (trace "X" (case (trace "X" (o)) of {
+ Prelude.Just x -> (trace "X" (T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((f (trace "X" (x))))))))))));
+ Prelude.Nothing -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))))}));
+ T_Branch l r -> (trace "X" (T_Branch (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (l))))))) (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (r)))))))))}))}
+ in mapOptionTree0 (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))))))))))))) (trace "X" (succ)))))))))))))))))
+ (trace "X" ((trace "X" ((let {
+ mapOptionTree0 f t0 =
+ (trace "X" (case (trace "X" (t0)) of {
+ T_Leaf o ->
+ (trace "X" (case (trace "X" (o)) of {
+ Prelude.Just x -> (trace "X" (T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((f (trace "X" (x))))))))))));
+ Prelude.Nothing -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))))}));
+ T_Branch l r -> (trace "X" (T_Branch (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (l))))))) (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (r)))))))))}))}
+ in mapOptionTree0 (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x))))))))))))))))))) (trace "X" (succ))))))))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))))))))))))) (trace "X" (succ)))))))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x))))))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (succ))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))))))))))))) (trace "X" (succ)))))))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x))))))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (succ))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))) (trace "X" (y))))))))))))))
arrange_empty_tree :: (Tree a2) -> (Tree (Prelude.Maybe a1)) -> Arrange a1
arrange_empty_tree q t =
(trace "X" (let {q' = (trace "X" ((trace "X" (drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))} in
(trace "X" (let {q0 = (trace "X" ((trace "X" (eq_rect (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))))))))))))) (trace "X" (succ)))))))))))) (trace "X" (q)) (trace "X" (q'))))))} in
(trace "X" (let {y = (trace "X" ((trace "X" (arrangeMap (trace "X" (succ)) (trace "X" ((T_Branch (trace "X" (q')) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x))))))))))))))))))) (trace "X" (succ))))))))))))))) (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q0))))))} in
- (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (succ))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((T_Branch (trace "X" (q')) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x))))))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (succ))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((T_Branch (trace "X" (q')) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x))))))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (succ))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((T_Branch (trace "X" (q')) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x))))))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))) (trace "X" (y))))))))
+ (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (succ))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((T_Branch (trace "X" (q')) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x))))))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q')))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (succ))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((T_Branch (trace "X" (q')) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x))))))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (succ))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((T_Branch (trace "X" (q')) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x))))))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))) (trace "X" (y))))))))
(trace "X" ((let {q1 = (trace "X" ((trace "X" (mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x))))))))))))))))))) (trace "X" (succ))))))))))))))))} in
(trace "X" (let {s = (trace "X" ((trace "X" (decide_tree_empty (trace "X" (q1))))))} in
(trace "X" (case (trace "X" (s)) of {
Prelude.Left s0 -> (trace "X" (case (trace "X" (s0)) of {
- ExistT x _ -> (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x0 -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x0))))))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x0)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q')))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x0)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((let {q'' = (trace "X" (\z z' -> (trace "X" (RLet (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (z)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" (t)) (trace "X" (z')) (trace "X" (([])))))))} in (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x0 -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x0))))))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x0)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x0)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q')))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x0 -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x0))))))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x0 -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x0))))))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x0)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((Nd_rlecnac (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x0 -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x0))))))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x0 -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x0))))))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x0)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x0 -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x0))))))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x0 -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x0))))))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))) (trace "X" ((RComp (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x0 -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x0))))))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((RLeft (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x0 -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x0))))))))))))))))))) (trace "X" (succ))))))))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((trace "X" ((arrange_empty_tree (trace "X" (x)) (trace "X" (q1)))))))))) (trace "X" ((RCanR (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x0)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RVar (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (t)) (trace "X" (([]))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x0)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x0)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))) (trace "X" ((RComp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x0)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))) (trace "X" ((RuCanL (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))) (trace "X" ((RRight (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x0)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))) (trace "X" ((RWeak (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x0)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([])))))))))))))))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x0)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x0)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q')))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((trace "X" ((q'' (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x0)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (t))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x0)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q')))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x0)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x0)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q')))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x0)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))) (trace "X" ((RExch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x0)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([])))))))))))))))))))))))}));
+ ExistT x _ -> (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x0 -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x0))))))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x0)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x0)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q')))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x0 -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x0))))))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x0)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x0)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x0 -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x0))))))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x0 -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x0))))))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x0)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((Nd_rlecnac (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x0 -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x0))))))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x0 -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x0))))))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x0)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x0 -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x0))))))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x0 -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x0))))))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))) (trace "X" ((RComp (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x0 -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x0))))))))))))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((RLeft (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((dropT (trace "X" (succ)) (trace "X" ((trace "X" ((mkFlags (trace "X" ((trace "X" ((liftBoolFunc (trace "X" (Prelude.False)) (trace "X" ((\x0 -> (trace "X" ((trace "X" (bnot (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (x0))))))))))))))))))) (trace "X" (succ))))))))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((trace "X" ((arrange_empty_tree (trace "X" (x)) (trace "X" (q1)))))))))) (trace "X" ((RCanR (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x0)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RVar (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (t)) (trace "X" (([]))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x0)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x0)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))) (trace "X" ((RComp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x0)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((RuCanR (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))) (trace "X" ((RLeft (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x0)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))) (trace "X" ((RWeak (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x0)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([])))))))))))))))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x0)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x0)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RLet (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x0)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (t)) (trace "X" (t)) (trace "X" (([])))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x0)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x0)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q')))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x0)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x0)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q')))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([])))))))))))) (trace "X" ((RExch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x0)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (q'))))))))))))))))))}));
Prelude.Right u -> (trace "X" ((trace "X" (Prelude.error (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('c')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('f')) (trace "X" (((:) (trace "X" ('y')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" ('g')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('c')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('d')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('y')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('u')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('r')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('d')) (trace "X" ([])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))})))))))))))))))))
-tree_of_nothing :: (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> TypeEnv -> HaskTyVar -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe LeveledHaskType)) -> Arrange LeveledHaskType
-tree_of_nothing unitTy prodTy gaTy __U0393_0 ec t a =
- (trace "X" ((trace "X" (tree_rect (trace "X" ((\a0 ->
- (trace "X" (case (trace "X" (a0)) of {
- Prelude.Just h -> (trace "X" ((trace "X" (eq_rect_r (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((RCanR (trace "X" (a))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (h)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))))))))))))))));
- Prelude.Nothing -> (trace "X" (RCanR (trace "X" (a))))}))))) (trace "X" ((\t1 iHt1 t2 iHt2 -> (trace "X" (RComp (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" (t1))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" (t2))))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" (t2)))))))))))))))))))) (trace "X" (a)) (trace "X" ((RComp (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" (t1))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" (t2))))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" (t1)))))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" (t2)))))))))))))))))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" (t2)))))))))))))))))))) (trace "X" ((RAssoc (trace "X" (a)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" (t1))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" (t2)))))))))))))))))))) (trace "X" ((RRight (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" (t1)))))))))))))))))))) (trace "X" (a)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" (t2))))))))))))))))) (trace "X" (iHt1)))))))) (trace "X" (iHt2))))))) (trace "X" (t))))))
-
-tree_of_nothing' :: (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> TypeEnv -> HaskTyVar -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe LeveledHaskType)) -> Arrange LeveledHaskType
-tree_of_nothing' unitTy prodTy gaTy __U0393_0 ec t a =
- (trace "X" ((trace "X" (tree_rect (trace "X" ((\a0 ->
- (trace "X" (case (trace "X" (a0)) of {
- Prelude.Just h -> (trace "X" ((trace "X" (eq_rect_r (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((RuCanR (trace "X" (a))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (h)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))))))))))))))));
- Prelude.Nothing -> (trace "X" (RuCanR (trace "X" (a))))}))))) (trace "X" ((\t1 iHt1 t2 iHt2 -> (trace "X" (RComp (trace "X" (a)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" (t2)))))))))))))))))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" (t1))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" (t2))))))))))))))))))))))) (trace "X" (iHt2)) (trace "X" ((RComp (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" (t2)))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" (t1)))))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" (t2)))))))))))))))))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" (t1))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" (t2))))))))))))))))))))))) (trace "X" ((RRight (trace "X" (a)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" (t1)))))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" (t2))))))))))))))))) (trace "X" (iHt1))))) (trace "X" ((RCossa (trace "X" (a)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" (t1))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" (t2)))))))))))))))))))))))))))) (trace "X" (t))))))
+tree_of_nothing :: (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> TypeEnv -> HaskTyVar -> (Tree (Prelude.Maybe HaskType)) -> Arrange LeveledHaskType
+tree_of_nothing unitTy prodTy gaTy __U0393_0 ec t =
+ (trace "X" ((trace "X" (tree_rect (trace "X" ((\a ->
+ (trace "X" (case (trace "X" (a)) of {
+ Prelude.Just h -> (trace "X" ((trace "X" (eq_rect_r (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((RId (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (h)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))))))))))))))));
+ Prelude.Nothing -> (trace "X" (RId (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))}))))) (trace "X" ((\t1 iHt1 t2 iHt2 -> (trace "X" (RComp (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((T_Branch (trace "X" (t1)) (trace "X" (t2)))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((RComp (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((T_Branch (trace "X" (t1)) (trace "X" (t2)))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" (t2)))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((RRight
+ (trace "X" ((trace "X" ((let {
+ mapOptionTree0 f t0 =
+ (trace "X" (case (trace "X" (t0)) of {
+ T_Leaf o ->
+ (trace "X" (case (trace "X" (o)) of {
+ Prelude.Just x -> (trace "X" (T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((f (trace "X" (x))))))))))));
+ Prelude.Nothing -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))))}));
+ T_Branch l r -> (trace "X" (T_Branch (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (l))))))) (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (r)))))))))}))}
+ in mapOptionTree0 (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" (t1))))))))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" (t2))))))))))))))))) (trace "X" (iHt1))))) (trace "X" ((RLeft (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" (t2))))))))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (iHt2)))))))) (trace "X" ((RCanL (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))) (trace "X" (t))))))
+
+tree_of_nothing' :: (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> TypeEnv -> HaskTyVar -> (Tree (Prelude.Maybe HaskType)) -> Arrange LeveledHaskType
+tree_of_nothing' unitTy prodTy gaTy __U0393_0 ec t =
+ (trace "X" ((trace "X" (tree_rect (trace "X" ((\a ->
+ (trace "X" (case (trace "X" (a)) of {
+ Prelude.Just h -> (trace "X" ((trace "X" (eq_rect_r (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((RId (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (h)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))))))))))))))));
+ Prelude.Nothing -> (trace "X" (RId (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))}))))) (trace "X" ((\t1 iHt1 t2 iHt2 -> (trace "X" (RComp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((T_Branch (trace "X" (t1)) (trace "X" (t2)))))))))))))))))))) (trace "X" ((RuCanL (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((RComp (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" (t1))))))))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((T_Branch (trace "X" (t1)) (trace "X" (t2)))))))))))))))))))) (trace "X" ((RRight (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" (t1))))))))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (iHt1))))) (trace "X" ((RLeft (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))
+ (trace "X" ((trace "X" ((let {
+ mapOptionTree0 f t0 =
+ (trace "X" (case (trace "X" (t0)) of {
+ T_Leaf o ->
+ (trace "X" (case (trace "X" (o)) of {
+ Prelude.Just x -> (trace "X" (T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((f (trace "X" (x))))))))))));
+ Prelude.Nothing -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))))}));
+ T_Branch l r -> (trace "X" (T_Branch (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (l))))))) (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (r)))))))))}))}
+ in mapOptionTree0 (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" (t2)))))))))))))))))
+ (trace "X" ((trace "X" ((let {
+ mapOptionTree0 f t0 =
+ (trace "X" (case (trace "X" (t0)) of {
+ T_Leaf o ->
+ (trace "X" (case (trace "X" (o)) of {
+ Prelude.Just x -> (trace "X" (T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((f (trace "X" (x))))))))))));
+ Prelude.Nothing -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))))}));
+ T_Branch l r -> (trace "X" (T_Branch (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (l))))))) (trace "X" ((trace "X" ((mapOptionTree0 (trace "X" (f)) (trace "X" (r)))))))))}))}
+ in mapOptionTree0 (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" (t1))))))))))))))))) (trace "X" (iHt2))))))))))))) (trace "X" (t))))))
flatten_proof :: WeakExprVar0 -> WeakExprVar0 -> WeakExprVar0 -> (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> Garrow -> (Tree (Prelude.Maybe Judg)) -> (Tree (Prelude.Maybe Judg)) -> (ND Judg SRule) -> ND Judg Rule
flatten_proof hetmet_flatten hetmet_unflatten hetmet_id unitTy prodTy gaTy gar h c x =
(:) h3 h4 -> (trace "X" ((trace "X" (Prelude.error (trace "X" (((:) (trace "X" ('R')) (trace "X" (((:) (trace "X" ('J')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('d')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('h')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('>')) (trace "X" (((:) (trace "X" ('0')) (trace "X" ([])))))))))))))))))))))))))))))))))))))))))))))))))))))))))}))));
RApp __U0393_0 __U0394_0 __U03a3___U2081_ __U03a3___U2082_ tx te lev ->
(trace "X" (case (trace "X" (lev)) of {
- ([]) -> (trace "X" (Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (__U03a3___U2081_))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (([])))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (__U03a3___U2082_))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((tx (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((te (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (([]))))))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (__U03a3___U2081_))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (__U03a3___U2082_)))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((MkLeveledHaskType (trace "X" (te)) (trace "X" (([])))))))))))))))))))))))))) (trace "X" ((trace "X" ((eq_rect (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (tx)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (te)) (trace "X" (env)))))))))))) (trace "X" ((RApp (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (__U03a3___U2081_))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (__U03a3___U2082_))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (tx))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (te))))))))) (trace "X" (([])))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((tx (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((te (trace "X" (__)) (trace "X" (env))))))))))))))))))))))))));
+ ([]) -> (trace "X" (Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (__U03a3___U2081_))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((tx (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((te (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (([])))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (__U03a3___U2082_))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (([]))))))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (__U03a3___U2081_))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (__U03a3___U2082_)))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((MkLeveledHaskType (trace "X" (te)) (trace "X" (([])))))))))))))))))))))))))) (trace "X" ((trace "X" ((eq_rect (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (tx)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (te)) (trace "X" (env)))))))))))) (trace "X" ((RApp (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (__U03a3___U2081_))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (__U03a3___U2082_))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (tx))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (te))))))))) (trace "X" (([])))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((tx (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((te (trace "X" (__)) (trace "X" (env))))))))))))))))))))))))));
(:) ec lev0 -> (trace "X" ((trace "X" (eq_rect_r (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_))))))))))))))) (trace "X" ((trace "X" ((eq_rect (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (tx)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (te)) (trace "X" (env)))))))))))) (trace "X" ((trace "X" ((Prelude.error (trace "X" (((:) (trace "X" ('F')) (trace "X" (((:) (trace "X" ('I')) (trace "X" (((:) (trace "X" ('X')) (trace "X" (((:) (trace "X" ('M')) (trace "X" (((:) (trace "X" ('E')) (trace "X" (((:) (trace "X" (':')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('g')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('_')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('y')) (trace "X" ([])))))))))))))))))))))))))))))))))))))))))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((tx (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((te (trace "X" (__)) (trace "X" (env)))))))))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_)))))))))))))))))))}));
RLet __U0393_0 __U0394_0 __U03a3___U2081_ __U03a3___U2082_ __U03c3___U2081_ __U03c3___U2082_ lev ->
(trace "X" (case (trace "X" (lev)) of {
- ([]) -> (trace "X" (Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (__U03a3___U2082_))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (([])))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (__U03a3___U2081_))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (([])))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (([]))))))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (__U03a3___U2081_))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (__U03a3___U2082_)))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (([])))))))))))))))))))))))))) (trace "X" ((RLet (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (__U03a3___U2081_))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (__U03a3___U2082_))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (levels_to_tcode (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (([]))))))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (([])))))))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (levels_to_tcode (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (([]))))))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (([])))))))))))))))))) (trace "X" (([]))))))));
- (:) ec lev0 -> (trace "X" ((trace "X" (eq_rect_r (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((eq_rect_r (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0)))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_)))))))))))))))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_))))))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_)))))))))))))))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_))))))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((trace "X" ((boost (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_)))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_))))))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_))))))))))))))))))))))))) (trace "X" (([]))) (trace "X" ((trace "X" ((ga_second (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (([]))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))))))))))))) (trace "X" ((trace "X" ((nd_id (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_))))))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_)))))))))))))))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_))))))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_))))))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_))))))))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_)))))))))))))))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_))))))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_))))))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_))))))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_))))))))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((trace "X" ((nd_id (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_))))))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_))))))))))))))))))))))))) (trace "X" (([])))))))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_))))))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_))))))))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_)))))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((RCanR (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_))))))))))))))))))))) (trace "X" ((trace "X" ((precompose (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_))))))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (([])))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_))))))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_))))))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_))))))))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_)))))))))))))))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RLet (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_)))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_)))))))))))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_))))))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_))))))))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0)))))))))))))))))))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0)))))))))))))))))))))))}));
+ ([]) -> (trace "X" (Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (__U03a3___U2081_))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (([])))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (([]))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (__U03a3___U2082_)))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (([]))))))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (__U03a3___U2081_))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (__U03a3___U2082_)))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (([])))))))))))))))))))))))))) (trace "X" ((RLet (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (__U03a3___U2081_))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (__U03a3___U2082_))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (levels_to_tcode (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (([]))))))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (([])))))))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (levels_to_tcode (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (([]))))))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (([])))))))))))))))))) (trace "X" (([]))))))));
+ (:) ec lev0 -> (trace "X" ((trace "X" (eq_rect_r (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((eq_rect_r (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0)))))))))))))) (trace "X" ((let {__U03a3___U2081_' = (trace "X" ((trace "X" (mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))} in (trace "X" (let {__U03a3___U2082_' = (trace "X" ((trace "X" (mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_)))))))))))} in (trace "X" (let {__U03a3___U2081_'' = (trace "X" ((trace "X" (mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))} in (trace "X" (let {__U03a3___U2082_'' = (trace "X" ((trace "X" (mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_)))))))))))} in (trace "X" (Nd_comp (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_'')) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (__U03a3___U2082_''))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_'')) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2082_')))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (__U03a3___U2082_''))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_'')) (trace "X" (__U03a3___U2082_''))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_'')) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (__U03a3___U2082_''))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_'')) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2082_')))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (__U03a3___U2082_''))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((trace "X" ((boost (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_'')) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_)))))))))))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2082_')))))))))))) (trace "X" (([]))) (trace "X" ((trace "X" ((ga_first (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (([]))) (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2082_')))))))))))) (trace "X" ((trace "X" ((nd_id (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (__U03a3___U2082_''))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_'')) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2082_')))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (__U03a3___U2082_''))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_'')) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2082_')))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2082_')))))))))))) (trace "X" (([])))))))))))) (trace "X" (__U03a3___U2082_''))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_'')) (trace "X" (__U03a3___U2082_''))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_'')) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2082_')))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (__U03a3___U2082_''))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_'')) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2082_')))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2082_')))))))))))) (trace "X" (([])))))))))))) (trace "X" (__U03a3___U2082_''))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((trace "X" ((nd_id (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_'')) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2082_')))))))))))) (trace "X" (([])))))))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (__U03a3___U2082_''))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_'')) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2082_')))))))))))) (trace "X" (([])))))))))))) (trace "X" (__U03a3___U2082_''))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (__U03a3___U2082_''))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_'')) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (__U03a3___U2082_''))))) (trace "X" (__U03a3___U2082_'')) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((RCanL (trace "X" (__U03a3___U2082_''))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_'')) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_'')) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2082_')))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2082_')))))))))))) (trace "X" (([])))))))))))) (trace "X" (__U03a3___U2082_''))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((trace "X" ((precompose (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (__U03a3___U2082_'')) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_))))))))))))))) (trace "X" (([])))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_'')) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2082_')))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2082_')))))))))))) (trace "X" (([])))))))))))) (trace "X" (__U03a3___U2082_''))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_'')) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2082_')))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2082_')))))))))))) (trace "X" (([])))))))))))) (trace "X" (__U03a3___U2082_''))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((RExch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2082_')))))))))))) (trace "X" (([])))))))))))) (trace "X" (__U03a3___U2082_'')))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_'')) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2082_')))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2082_')))))))))))) (trace "X" (([])))))))))))) (trace "X" (__U03a3___U2082_''))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_'')) (trace "X" (__U03a3___U2082_''))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RLet (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_'')) (trace "X" (__U03a3___U2082_'')) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2082_')))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" (__U03a3___U2082_'))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0)))))))))))))))))))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0)))))))))))))))))))))))}));
+ RWhere __U0393_0 __U0394_0 __U03a3___U2081_ __U03a3___U2082_ __U03a3___U2083_ __U03c3___U2081_ __U03c3___U2082_ lev ->
+ (trace "X" (case (trace "X" (lev)) of {
+ ([]) -> (trace "X" (Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (__U03a3___U2081_))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (([]))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (__U03a3___U2083_))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (([])))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (__U03a3___U2082_))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (([]))))))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (__U03a3___U2081_))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (__U03a3___U2082_))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (__U03a3___U2083_))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (([])))))))))))))))))))))))))) (trace "X" ((RWhere (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (__U03a3___U2081_))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (__U03a3___U2082_))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (__U03a3___U2083_))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (levels_to_tcode (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (([]))))))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (([])))))))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (levels_to_tcode (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (([]))))))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2082_)) (trace "X" (([])))))))))))))))))) (trace "X" (([]))))))));
+ (:) ec lev0 -> (trace "X" ((trace "X" (eq_rect_r (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0)))))))))))))) (trace "X" ((trace "X" ((eq_rect_r (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((let {__U03a3___U2081_' = (trace "X" ((trace "X" (mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))} in (trace "X" (let {__U03a3___U2082_' = (trace "X" ((trace "X" (mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_)))))))))))} in (trace "X" (let {__U03a3___U2083_' = (trace "X" ((trace "X" (mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2083_)))))))))))} in (trace "X" (let {__U03a3___U2081_'' = (trace "X" ((trace "X" (mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2081_)))))))))))} in (trace "X" (let {__U03a3___U2082_'' = (trace "X" ((trace "X" (mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2082_)))))))))))} in (trace "X" (let {__U03a3___U2083_'' = (trace "X" ((trace "X" (mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3___U2083_)))))))))))} in (trace "X" (Nd_comp (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_'')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (__U03a3___U2083_'')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2083_')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_'')) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (__U03a3___U2082_')) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_)))))))))))))))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_'')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (__U03a3___U2083_'')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2083_')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_'')) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_')) (trace "X" (__U03a3___U2083_'))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2083_')))))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_'')) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_'')) (trace "X" (__U03a3___U2083_'')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_')) (trace "X" (__U03a3___U2083_')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_'')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (__U03a3___U2083_'')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2083_')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_'')) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (__U03a3___U2082_')) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_'')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (__U03a3___U2083_'')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2083_')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_'')) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_')) (trace "X" (__U03a3___U2083_'))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2083_')))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((trace "X" ((nd_id (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_'')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (__U03a3___U2083_'')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2083_')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([])))))))))))))))))))))))))) (trace "X" ((trace "X" ((first_nd (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (([]))) (trace "X" (__U03a3___U2082_')) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2083_')) (trace "X" (__U03a3___U2082_'')))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_'')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (__U03a3___U2083_'')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2083_')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_'')) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_')) (trace "X" (__U03a3___U2083_'))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2083_')))))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_'')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (__U03a3___U2083_'')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2083_')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_'')) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_')) (trace "X" (__U03a3___U2083_')))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2083_'))))))))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_'')) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_'')) (trace "X" (__U03a3___U2083_'')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_')) (trace "X" (__U03a3___U2083_')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_'')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (__U03a3___U2083_'')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2083_')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_'')) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_')) (trace "X" (__U03a3___U2083_'))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2083_')))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_'')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (__U03a3___U2083_'')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2083_')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_'')) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_')) (trace "X" (__U03a3___U2083_')))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2083_'))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((trace "X" ((nd_id (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_'')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (__U03a3___U2083_'')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2083_')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([])))))))))))))))))))))))))) (trace "X" ((trace "X" ((second_nd (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (([]))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_')) (trace "X" (__U03a3___U2083_'))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2083_'))))) (trace "X" (__U03a3___U2081_')) (trace "X" (__U03a3___U2082_'')))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_'')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (__U03a3___U2083_'')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2083_')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_'')) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_')) (trace "X" (__U03a3___U2083_')))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2083_'))))))))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_'')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_')) (trace "X" (__U03a3___U2083_')))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2083_'))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (__U03a3___U2083_'')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_')) (trace "X" (__U03a3___U2083_')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_'')) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_')) (trace "X" (__U03a3___U2083_')))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2083_'))))))))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_'')) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_'')) (trace "X" (__U03a3___U2083_'')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_')) (trace "X" (__U03a3___U2083_')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_'')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (__U03a3___U2083_'')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2083_')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_'')) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_')) (trace "X" (__U03a3___U2083_')))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2083_'))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_'')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_')) (trace "X" (__U03a3___U2083_')))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2083_'))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (__U03a3___U2083_'')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_')) (trace "X" (__U03a3___U2083_')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_'')) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_')) (trace "X" (__U03a3___U2083_')))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2083_'))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_'')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (__U03a3___U2083_'')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2083_')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_'')) (trace "X" (__U03a3___U2083_''))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2083_')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_'')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_')) (trace "X" (__U03a3___U2083_')))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2083_'))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (__U03a3___U2083_'')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_')) (trace "X" (__U03a3___U2083_')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_'')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (__U03a3___U2083_'')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2083_')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_'')) (trace "X" (__U03a3___U2083_''))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2083_')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_'')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (__U03a3___U2083_'')))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_'')) (trace "X" (__U03a3___U2083_''))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2083_')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((RLeft (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (__U03a3___U2083_''))))) (trace "X" (__U03a3___U2083_'')) (trace "X" (__U03a3___U2081_'')) (trace "X" ((RCanL (trace "X" (__U03a3___U2083_'')))))))))))))) (trace "X" ((trace "X" ((precompose' (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (__U03a3___U2081_'')) (trace "X" (__U03a3___U2083_'')) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_')) (trace "X" (__U03a3___U2083_')))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2083_')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_))))))))))))))) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((nd_id (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_'')) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_')) (trace "X" (__U03a3___U2083_')))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2083_'))))))))))))))) (trace "X" (([]))))))))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_'')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_')) (trace "X" (__U03a3___U2083_')))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2083_'))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (__U03a3___U2083_'')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_')) (trace "X" (__U03a3___U2083_')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2082_'')) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_')) (trace "X" (__U03a3___U2083_')))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2083_'))))))))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_'')) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_'')) (trace "X" (__U03a3___U2083_'')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_')) (trace "X" (__U03a3___U2083_')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RWhere (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_'')) (trace "X" (__U03a3___U2082_'')) (trace "X" (__U03a3___U2083_'')) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_')) (trace "X" (__U03a3___U2083_')))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2081_))))))))))))))) (trace "X" (__U03a3___U2083_'))))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_')) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_')) (trace "X" (__U03a3___U2083_')))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c3___U2082_)))))))))))))))))))))) (trace "X" (([])))))))))))))))))))))))))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0)))))))))))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3___U2081_)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0)))))))))))))))))))))))}));
RVoid __U0393_0 __U0394_0 -> (trace "X" (Nd_rule (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))))))))) (trace "X" ((RVoid (trace "X" (__U0393_0)) (trace "X" (__U0394_0)))))));
RAppT __U0393_0 __U0394_0 __U03a3_ __U03ba_ __U03c3_ __U03c4_ lev ->
(trace "X" (case (trace "X" (lev)) of {
RCase __U0393_0 __U0394_0 lev tc __U03a3_ avars tbranches alts -> (trace "X" ((trace "X" (Prelude.error (trace "X" (((:) (trace "X" ('C')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('u')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('r')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('d')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('(')) (trace "X" (((:) (trace "X" ('B')) (trace "X" (((:) (trace "X" ('I')) (trace "X" (((:) (trace "X" ('G')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('F')) (trace "X" (((:) (trace "X" ('I')) (trace "X" (((:) (trace "X" ('X')) (trace "X" (((:) (trace "X" ('M')) (trace "X" (((:) (trace "X" ('E')) (trace "X" (((:) (trace "X" (')')) (trace "X" ([]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))}));
SBrak __U0393_0 __U0394_0 t ec succ lev ->
(trace "X" (case (trace "X" (lev)) of {
- ([]) -> (trace "X" ((trace "X" (eq_rect_r (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))) (trace "X" ((trace "X" ((eq_rect_r (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))) (trace "X" ((trace "X" ((eq_rect_r (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))))))))))))) (trace "X" ((trace "X" ((eq_rect_r (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))) (trace "X" ((trace "X" ((eq_rect (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))) (trace "X" ((trace "X" ((eq_rect_r (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" ((let {succ_host = (trace "X" ((trace "X" (mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))} in (trace "X" (let {succ_guest = (trace "X" ((trace "X" (mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))} in (trace "X" (let {succ_args = (trace "X" ((trace "X" (mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))} in (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (succ_host)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (succ_guest)) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (succ_guest)) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (succ))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (succ_args)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (succ_host)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (succ_guest)) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (succ_guest)) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (succ_host)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))) (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (succ_guest)) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((trace "X" ((tree_of_nothing (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))) (trace "X" (succ_host))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (succ_guest)) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (succ_guest))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (succ_args)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (succ))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (succ_args)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((trace "X" ((ga_unkappa' (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (([]))) (trace "X" (succ_guest)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))))))))))))) (trace "X" (succ_host)) (trace "X" (succ_args))))))) (trace "X" ((trace "X" ((arrange_brak (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ec)) (trace "X" (succ)) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (succ_args)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))))))))))))))))))))))))))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (haskBrak (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (t))))))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))))))))))));
+ ([]) -> (trace "X" ((trace "X" (eq_rect_r (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))) (trace "X" ((trace "X" ((eq_rect_r (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))) (trace "X" ((trace "X" ((eq_rect_r (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))))))))))))) (trace "X" ((trace "X" ((eq_rect_r (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))) (trace "X" ((trace "X" ((eq_rect (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))) (trace "X" ((trace "X" ((eq_rect_r (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" ((let {succ_host = (trace "X" ((trace "X" (mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))} in (trace "X" (let {succ_guest = (trace "X" ((trace "X" (mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))} in (trace "X" (let {succ_args = (trace "X" ((trace "X" (mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))} in (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (succ_host)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (succ_guest)) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (succ_guest)) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (succ))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (succ_args)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (succ_host)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (succ_guest)) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (succ_guest)) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (succ_host)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (succ_guest)) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((RLeft (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (succ_host)) (trace "X" ((trace "X" ((tree_of_nothing (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (succ_guest)) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (succ_guest)) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (succ))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (succ_args)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (succ_guest)) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (succ_guest)) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (succ_guest)) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((RCanR (trace "X" (succ_host))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" (succ_guest)) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (succ_guest))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (succ_args)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (succ))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (succ_args)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((trace "X" ((ga_unkappa (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (([]))) (trace "X" (succ_guest)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))))))))))))) (trace "X" (succ_host)) (trace "X" (succ_args))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (succ_guest))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (succ_args)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (succ_args)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (succ))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (succ_args)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (succ_args)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (succ_args)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (succ_args)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((RExch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))))) (trace "X" ((trace "X" ((arrange_brak (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ec)) (trace "X" (succ)) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (succ_args)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))))))))))))))))))))))))))))))))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (haskBrak (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (t))))))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))))))))))));
(:) h1 lev0 -> (trace "X" ((trace "X" (Prelude.error (trace "X" (((:) (trace "X" ('f')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('u')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" ('d')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('B')) (trace "X" (((:) (trace "X" ('r')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('k')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('d')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('h')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('>')) (trace "X" (((:) (trace "X" ('0')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" ('d')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('c')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" ('g')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('3')) (trace "X" (((:) (trace "X" ('-')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('v')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('c')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('d')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" (';')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('y')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('w')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('-')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('v')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('c')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('d')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('c')) (trace "X" (((:) (trace "X" ('u')) (trace "X" (((:) (trace "X" ('r')) (trace "X" (((:) (trace "X" ('r')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('y')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('u')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('r')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('d')) (trace "X" ([]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))}));
SEsc __U0393_0 __U0394_0 t ec succ lev ->
(trace "X" (case (trace "X" (lev)) of {
([]) ->
(trace "X" ((trace "X" (eq_rect_r (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))))))))))))))))))))
- (trace "X" ((trace "X" ((eq_rect_r (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((T_Branch (trace "X" (succ)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (succ))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([])))))))))))))))))))))
+ (trace "X" ((trace "X" ((eq_rect_r (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((T_Branch (trace "X" (succ)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (succ))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (succ))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([])))))))))))))))))))))
(trace "X" ((trace "X" ((eq_rect_r (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))
(trace "X" ((trace "X" ((eq_rect_r (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))
- (trace "X" ((trace "X" ((eq_rect (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (succ))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((trace "X" ((arrange_esc (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ec)) (trace "X" (succ)) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))))))))
+ (trace "X" ((trace "X" ((eq_rect (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (succ))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((trace "X" ((arrange_esc (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (ec)) (trace "X" (succ)) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))))))))
(trace "X" ((let {q' = (trace "X" ((trace "X" (decide_tree_empty (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))} in
(trace "X" (case (trace "X" (q')) of {
Prelude.Left s -> (trace "X" (case (trace "X" (s)) of {
- ExistT x1 _ -> (trace "X" ((trace "X" (eq_rect_r (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1))))))) (trace "X" ((let {succ_host = (trace "X" ((trace "X" (mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))} in (trace "X" (let {succ_args = (trace "X" ((trace "X" (mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))} in (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (succ_args)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (succ_args)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (succ_args)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (succ_args)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((Nd_llecnac (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (succ_args)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (succ_args)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((trace "X" ((tree_rect (trace "X" ((\a -> (trace "X" ((trace "X" (ga_id (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (([]))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (a)))))))))))))))))))))) (trace "X" ((\x2 iHx1 x3 iHx2 -> (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (x2)) (trace "X" (x3)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (x2)) (trace "X" (x3)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((trace "X" ((ga_join (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x2)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x3)))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (iHx1)) (trace "X" (iHx2))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (x2)) (trace "X" (x3)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (x2)) (trace "X" (x3)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (x2)) (trace "X" (x3)))))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((RCanR (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))))))) (trace "X" (x1))))))) (trace "X" ((trace "X" ((boost (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (succ_args)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))) (trace "X" ((trace "X" ((postcompose (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (([]))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" (succ_args))))) (trace "X" (succ_args)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (succ_args))))) (trace "X" (succ_args))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" (succ_args))))) (trace "X" (succ_args))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((trace "X" ((ga_cancell (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (([]))) (trace "X" (succ_args))))))) (trace "X" ((trace "X" ((boost (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (succ_args))))) (trace "X" (succ_args))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" (succ_args))))) (trace "X" (succ_args))))))))) (trace "X" (([]))) (trace "X" ((trace "X" ((postcompose (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (([]))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" (succ_args))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (succ_args))))) (trace "X" (succ_args)) (trace "X" ((trace "X" ((firstify (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (([]))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (succ_args)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((tree_rect (trace "X" ((\a -> (trace "X" ((trace "X" (ga_id (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (([]))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))))))) (trace "X" ((\x2 iHx1 x3 iHx2 -> (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x2)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x3))))))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((trace "X" ((ga_cancell (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (([]))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))))) (trace "X" ((trace "X" ((boost (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x2)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x3))))))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))))))) (trace "X" (([]))) (trace "X" ((trace "X" ((postcompose (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (([]))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x2)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x3))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x2)))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x2)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x3))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((trace "X" ((firstify (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (([]))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x2)))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (iHx1))))))) (trace "X" ((trace "X" ((boost (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x2)))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x2)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x3))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([]))) (trace "X" ((trace "X" ((postcompose (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (([]))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x2)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x3))))))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x2)))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((trace "X" ((secondify (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (([]))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x3)))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x2)))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (iHx2))))))))))))))))))))))))))))))))))) (trace "X" (x1))))))))))))))))))))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RLet (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((RCanR (trace "X" (succ_host)))))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))}));
- Prelude.Right u -> (trace "X" ((trace "X" (ga_kappa' (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (([]))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))})))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((trace "X" ((tree_of_nothing' (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((T_Branch (trace "X" (succ)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))))))))))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (haskBrak (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (t))))))))))))))))))));
+ ExistT x1 _ -> (trace "X" ((trace "X" (eq_rect_r (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1))))))) (trace "X" ((let {succ_host = (trace "X" ((trace "X" (mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))} in (trace "X" (let {succ_args = (trace "X" ((trace "X" (mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))} in (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (succ_host))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (succ_args)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (succ_host))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (succ_args)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (succ_host))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (succ_args)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (succ_host))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (succ_host))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (succ_args)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (succ_host))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (succ_host))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (succ_host))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (succ_args)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (succ_host))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (succ_args)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (succ_host))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((Nd_llecnac (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (succ_host))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (succ_args)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (succ_host))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (succ_args)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (succ_host))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((trace "X" ((tree_rect (trace "X" ((\a -> (trace "X" ((trace "X" (ga_id (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (([]))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (a)))))))))))))))))))))) (trace "X" ((\x2 iHx1 x3 iHx2 -> (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (x2)) (trace "X" (x3)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (x2)) (trace "X" (x3)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((trace "X" ((ga_join (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x2)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x3)))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (iHx1)) (trace "X" (iHx2))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (x2)) (trace "X" (x3)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (x2)) (trace "X" (x3)))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Branch (trace "X" (x2)) (trace "X" (x3)))))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((RCanL (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))))))) (trace "X" (x1))))))) (trace "X" ((trace "X" ((boost (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (succ_host))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (succ_args)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))) (trace "X" ((trace "X" ((postcompose (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" (succ_args))))) (trace "X" (succ_args)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))))))))))))) (trace "X" (([]))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (succ_args))))) (trace "X" (succ_args))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" (succ_args))))) (trace "X" (succ_args))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((trace "X" ((ga_cancell (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (([]))) (trace "X" (succ_args))))))) (trace "X" ((trace "X" ((boost (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (succ_args))))) (trace "X" (succ_args))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" (succ_args))))) (trace "X" (succ_args))))))))) (trace "X" (([]))) (trace "X" ((trace "X" ((postcompose (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" (succ_args))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (succ_args))))) (trace "X" (succ_args)) (trace "X" (([]))) (trace "X" ((trace "X" ((firstify (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (([]))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (succ_args)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((tree_rect (trace "X" ((\a -> (trace "X" ((trace "X" (ga_id (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (([]))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))))))) (trace "X" ((\x2 iHx1 x3 iHx2 -> (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x2)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x3))))))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((trace "X" ((ga_cancell (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" ((Prelude.error "Proj Args"))) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (([]))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))))) (trace "X" ((trace "X" ((boost (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x2)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x3))))))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))))))) (trace "X" (([]))) (trace "X" ((trace "X" ((postcompose (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x2)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x3))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (([]))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x2)))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x2)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x3))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((trace "X" ((firstify (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (([]))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x2)))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (iHx1))))))) (trace "X" ((trace "X" ((boost (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x2)))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x2)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x3))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))))) (trace "X" (([]))) (trace "X" ((trace "X" ((postcompose (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x2)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x3))))))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x2)))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" (([]))) (trace "X" ((trace "X" ((secondify (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" (([]))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x3)))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x4 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x4)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x4 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x2)))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (iHx2))))))))))))))))))))))))))))))))))) (trace "X" (x1))))))))))))))))))))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (succ_host))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([])))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (succ_host))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RLet (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (succ_host)) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1))))))))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (succ_host))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (succ_host))))) (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((RCanL (trace "X" (succ_host)))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (succ_host)) (trace "X" ((T_Branch (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((RuCanR (trace "X" (succ_host)))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2)))))))))))))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" (x1)))))))))))) (trace "X" (succ_args))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((RuCanR (trace "X" ((T_Branch (trace "X" (succ_host)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))))))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))}));
+ Prelude.Right u -> (trace "X" ((trace "X" (Prelude.error (trace "X" (((:) (trace "X" ('g')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('_')) (trace "X" (((:) (trace "X" ('k')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('u')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('r')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('d')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('y')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('(')) (trace "X" (((:) (trace "X" ('B')) (trace "X" (((:) (trace "X" ('I')) (trace "X" (((:) (trace "X" ('G')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('F')) (trace "X" (((:) (trace "X" ('I')) (trace "X" (((:) (trace "X" ('X')) (trace "X" (((:) (trace "X" ('M')) (trace "X" (((:) (trace "X" ('E')) (trace "X" (((:) (trace "X" (')')) (trace "X" ([]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))})))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((RCanR (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([]))))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (ec))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((RLeft (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))) (trace "X" ((trace "X" ((tree_of_nothing' (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x1)))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((T_Branch (trace "X" (succ)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t)))))))))))))))))))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (haskBrak (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (t))))))))))))))))))));
(:) h1 lev0 -> (trace "X" ((trace "X" (Prelude.error (trace "X" (((:) (trace "X" ('f')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('u')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" ('d')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('E')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('c')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('d')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('h')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('>')) (trace "X" (((:) (trace "X" ('0')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" ('d')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('c')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" ('g')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('3')) (trace "X" (((:) (trace "X" ('-')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('v')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('c')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('d')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" (';')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('y')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('w')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('-')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('v')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('c')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('d')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('c')) (trace "X" (((:) (trace "X" ('u')) (trace "X" (((:) (trace "X" ('r')) (trace "X" (((:) (trace "X" ('r')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('y')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('u')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('r')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('d')) (trace "X" ([])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))}))}))))) (trace "X" (h)) (trace "X" (c)) (trace "X" (x))))))
skolemize_and_flatten_proof :: WeakExprVar0 -> WeakExprVar0 -> WeakExprVar0 -> (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> Garrow -> (Tree (Prelude.Maybe Judg)) -> (Tree (Prelude.Maybe Judg)) -> (ND Judg Rule) -> ND Judg Rule
curry :: TypeEnv -> CoercionEnv -> (() -> (InstantiatedTypeEnv ()) -> RawHaskType ()) -> (() -> (InstantiatedTypeEnv ()) -> RawHaskType ()) -> (Tree (Prelude.Maybe LeveledHaskType)) -> HaskLevel -> ND Judg Rule
curry __U0393_0 __U0394_0 a s __U03a3_ lev =
- (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev))))))))))) (trace "X" (__U03a3_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (s)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (s)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev))))))))))) (trace "X" (__U03a3_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (s)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((Nd_llecnac (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RVar (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (a)) (trace "X" (lev)))))))) (trace "X" ((trace "X" ((nd_id (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev))))))))))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev))))))))))) (trace "X" (__U03a3_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (s)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RApp (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev))))))))))) (trace "X" (__U03a3_)) (trace "X" (a)) (trace "X" (s)) (trace "X" (lev))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev))))))))))) (trace "X" (__U03a3_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (s)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (s)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev))))))))))) (trace "X" (__U03a3_))))) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (s)) (trace "X" (lev))))))))))) (trace "X" ((RExch (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev))))))))))))))))))))))
+ (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (s)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev))))))))))) (trace "X" (__U03a3_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (s)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (s)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((Nd_rlecnac (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((Nd_prod (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((trace "X" ((nd_id (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev))))))))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RVar (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (a)) (trace "X" (lev)))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (s)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RApp (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev))))))))))) (trace "X" (a)) (trace "X" (s)) (trace "X" (lev))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (s)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev))))))))))) (trace "X" (__U03a3_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (s)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev)))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev))))))))))) (trace "X" (__U03a3_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (s)) (trace "X" (lev))))))))))) (trace "X" ((RExch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev))))))))))) (trace "X" (__U03a3_)))))))))))))
fToC1 :: TypeEnv -> CoercionEnv -> (() -> (InstantiatedTypeEnv ()) -> RawHaskType ()) -> (() -> (InstantiatedTypeEnv ()) -> RawHaskType ()) -> HaskLevel -> (ND Judg Rule) -> ND Judg Rule
fToC1 __U0393_0 __U0394_0 a s lev pf =
- (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (s)) (trace "X" (lev)))))))))))))))))))) (trace "X" (pf)) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (s)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (s)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((trace "X" ((curry (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (a)) (trace "X" (s)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (lev))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (s)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (s)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (s)) (trace "X" (lev))))))))))) (trace "X" ((RCanL (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev)))))))))))))))))))))))))
+ (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (s)) (trace "X" (lev)))))))))))))))))))) (trace "X" (pf)) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (s)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (s)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((trace "X" ((curry (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (a)) (trace "X" (s)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (lev))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (s)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (s)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (s)) (trace "X" (lev))))))))))) (trace "X" ((RCanR (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a)) (trace "X" (lev)))))))))))))))))))))))))
fToC2 :: TypeEnv -> CoercionEnv -> (() -> (InstantiatedTypeEnv ()) -> RawHaskType ()) -> (() -> (InstantiatedTypeEnv ()) -> RawHaskType ()) -> (() -> (InstantiatedTypeEnv ()) -> RawHaskType ()) -> HaskLevel -> (ND Judg Rule) -> ND Judg Rule
fToC2 __U0393_0 __U0394_0 a1 a2 s lev pf =
- (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a1 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env))))))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a1)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a2)) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (s)) (trace "X" (lev)))))))))))))))))))) (trace "X" (pf)) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a1 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env))))))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a1)) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a1)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a2)) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (s)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((trace "X" ((curry (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (a1)) (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (lev))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a1)) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a1)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a1)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a2)) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (s)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a1)) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a1)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a1)) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a1)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev))))))))))) (trace "X" ((RCanL (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a1)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((trace "X" ((curry (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (a2)) (trace "X" (s)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a1)) (trace "X" (lev))))))))))) (trace "X" (lev)))))))))))))))
+ (trace "X" (Nd_comp (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a1 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env))))))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a1)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a2)) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (s)) (trace "X" (lev)))))))))))))))))))) (trace "X" (pf)) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a1 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env))))))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a1)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a1)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a2)) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (s)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((trace "X" ((curry (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (a1)) (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (lev))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a1)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a1)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a1)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a2)) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (s)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a1)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a1)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a1)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a1)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev))))))))))) (trace "X" ((RCanR (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a1)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a1)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ env -> (trace "X" (TApp (trace "X" (KindStar)) (trace "X" (KindStar)) (trace "X" ((TApp (trace "X" ((KindArrow (trace "X" (KindStar)) (trace "X" (KindStar))))) (trace "X" (KindStar)) (trace "X" (TArrow)) (trace "X" ((trace "X" ((a2 (trace "X" (__)) (trace "X" (env)))))))))) (trace "X" ((trace "X" ((s (trace "X" (__)) (trace "X" (env)))))))))))) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a2)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a1)) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (s)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a1)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a2)) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (s)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((trace "X" ((curry (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (a2)) (trace "X" (s)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a1)) (trace "X" (lev))))))))))) (trace "X" (lev))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a2)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a1)) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (s)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a1)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a2)) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (s)) (trace "X" (lev)))))))))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a2)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a1)) (trace "X" (lev)))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a1)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a2)) (trace "X" (lev)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (s)) (trace "X" (lev))))))))))) (trace "X" ((RExch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a1)) (trace "X" (lev))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (a2)) (trace "X" (lev)))))))))))))))))))))))))))))))
ga_unit :: TyCon.TyCon -> (RawHaskType a1) -> RawHaskType a1
ga_unit hetmet_PGArrow_unit_TyCon ec =