+unleaves_ :: (([]) a1) -> Tree (Prelude.Maybe a1)
+unleaves_ l =
+ (trace "X" (case (trace "X" (l)) of {
+ ([]) -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))));
+ (:) a b ->
+ (trace "X" (case (trace "X" (b)) of {
+ ([]) -> (trace "X" (T_Leaf (trace "X" ((Prelude.Just (trace "X" (a)))))));
+ (:) a0 l0 -> (trace "X" (T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" (a)))))))) (trace "X" ((trace "X" ((unleaves_ (trace "X" (b)))))))))}))}))
+
+take_trustme :: TypeEnv -> Nat -> (() -> (InstantiatedTypeEnv ()) -> ([]) (RawHaskType ())) -> ([]) HaskType
+take_trustme __U0393_0 n l =
+ (trace "X" (case (trace "X" (n)) of {
+ O -> (trace "X" (([])));
+ S n' -> (trace "X" ((:) (trace "X" ((\_ ite ->
+ (trace "X" (case (trace "X" ((trace "X" (l (trace "X" (__)) (trace "X" (ite)))))) of {
+ ([]) -> (trace "X" ((trace "X" (Prelude.error (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('m')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('b')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('e')) (trace "X" ([]))))))))))))))))))))))))))))))))))));
+ (:) a b -> (trace "X" (a))})))))
+ (trace "X" ((trace "X" ((take_trustme (trace "X" (__U0393_0)) (trace "X" (n')) (trace "X" ((\_ ite ->
+ (trace "X" (case (trace "X" ((trace "X" (l (trace "X" (__)) (trace "X" (ite)))))) of {
+ ([]) -> (trace "X" ((trace "X" (Prelude.error (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('m')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('b')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('e')) (trace "X" ([]))))))))))))))))))))))))))))))))))));
+ (:) a b -> (trace "X" (b))}))))))))))))}))
+
+take_arg_types_as_tree :: TypeEnv -> HaskType -> Tree (Prelude.Maybe HaskType)
+take_arg_types_as_tree __U0393_0 ht =
+ (trace "X" ((trace "X" (unleaves_ (trace "X" ((trace "X" ((take_trustme (trace "X" (__U0393_0)) (trace "X" ((trace "X" ((count_arg_types (trace "X" (KindStar)) (trace "X" ((trace "X" ((unsafeCoerce (trace "X" (ht)) (trace "X" (__)) (trace "X" ((trace "X" ((ite_unit (trace "X" (__U0393_0))))))))))))))))) (trace "X" ((\_ ite -> (trace "X" ((trace "X" (take_arg_types (trace "X" (KindStar)) (trace "X" ((trace "X" ((ht (trace "X" (__)) (trace "X" (ite)))))))))))))))))))))))
+
+drop_arg_types_as_tree :: TypeEnv -> HaskType -> (InstantiatedTypeEnv a1) -> RawHaskType a1
+drop_arg_types_as_tree __U0393_0 ht ite =
+ (trace "X" ((trace "X" (drop_arg_types (trace "X" (KindStar)) (trace "X" ((trace "X" ((unsafeCoerce (trace "X" (ht)) (trace "X" (__)) (trace "X" (ite)))))))))))
+
+take_arrange :: TypeEnv -> HaskType -> HaskType -> HaskLevel -> Arrange LeveledHaskType
+take_arrange __U0393_0 tx te lev =
+ (trace "X" (let {s = (trace "X" ((trace "X" (eqd_dec (trace "X" ((trace "X" ((eqDecidableTree (trace "X" ((trace "X" ((eqDecidableOption (trace "X" ((trace "X" ((haskTypeEqDecidable (trace "X" (__U0393_0)) (trace "X" (KindStar))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" (tx)))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te)))))))))) (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)))))))))))))))))))))} in
+ (trace "X" (case (trace "X" (s)) of {
+ Prelude.True -> (trace "X" ((trace "X" (eq_rect (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" (tx)))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te)))))))))) (trace "X" ((AId (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (lev))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (lev))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te)))))))))))))))))) (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)))))))))))))))))))));
+ Prelude.False ->
+ (trace "X" (let {n0 = (trace "X" ((trace "X" (count_arg_types (trace "X" (KindStar)) (trace "X" ((trace "X" ((unsafeCoerce (trace "X" (te)) (trace "X" (__)) (trace "X" ((trace "X" ((ite_unit (trace "X" (__U0393_0))))))))))))))))} in
+ (trace "X" (case (trace "X" (n0)) of {
+ O -> (trace "X" ((trace "X" (eq_rect (trace "X" ((\_ ite -> (trace "X" ((trace "X" (tx (trace "X" (__)) (trace "X" (ite))))))))) (trace "X" ((ACanR (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ ite -> (trace "X" ((trace "X" (tx (trace "X" (__)) (trace "X" (ite))))))))) (trace "X" (lev)))))))))))))) (trace "X" (tx))))));
+ S n1 -> (trace "X" ((trace "X" (Prelude.error (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('h')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('u')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('d')) (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" ('b')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('b')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('e')) (trace "X" ([]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))}))))}))))
+
+take_unarrange :: TypeEnv -> HaskType -> HaskType -> HaskLevel -> Arrange LeveledHaskType
+take_unarrange __U0393_0 tx te lev =
+ (trace "X" (let {s = (trace "X" ((trace "X" (eqd_dec (trace "X" ((trace "X" ((eqDecidableTree (trace "X" ((trace "X" ((eqDecidableOption (trace "X" ((trace "X" ((haskTypeEqDecidable (trace "X" (__U0393_0)) (trace "X" (KindStar))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" (tx)))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te)))))))))) (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)))))))))))))))))))))} in
+ (trace "X" (case (trace "X" (s)) of {
+ Prelude.True -> (trace "X" ((trace "X" (eq_rect (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" (tx)))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te)))))))))) (trace "X" ((AId (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (lev))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (lev))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (te)))))))))))))))))) (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)))))))))))))))))))));
+ Prelude.False ->
+ (trace "X" (let {n0 = (trace "X" ((trace "X" (count_arg_types (trace "X" (KindStar)) (trace "X" ((trace "X" ((unsafeCoerce (trace "X" (te)) (trace "X" (__)) (trace "X" ((trace "X" ((ite_unit (trace "X" (__U0393_0))))))))))))))))} in
+ (trace "X" (case (trace "X" (n0)) of {
+ O -> (trace "X" ((trace "X" (eq_rect (trace "X" ((\_ ite -> (trace "X" ((trace "X" (tx (trace "X" (__)) (trace "X" (ite))))))))) (trace "X" ((AuCanR (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ ite -> (trace "X" ((trace "X" (tx (trace "X" (__)) (trace "X" (ite))))))))) (trace "X" (lev)))))))))))))) (trace "X" (tx))))));
+ S n1 -> (trace "X" ((trace "X" (Prelude.error (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('h')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('u')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('d')) (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" ('b')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('b')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('e')) (trace "X" ([]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))}))))}))))
+
+data SRule =
+ SFlat (Tree (Prelude.Maybe Judg)) (Tree (Prelude.Maybe Judg)) Rule
+ | SBrak TypeEnv CoercionEnv HaskType HaskTyVar (Tree (Prelude.Maybe LeveledHaskType)) (([]) HaskTyVar)
+ | SEsc TypeEnv CoercionEnv HaskType HaskTyVar (Tree (Prelude.Maybe LeveledHaskType)) HaskLevel
+
+skolemize_judgment :: Judg -> Judg
+skolemize_judgment j =
+ (trace "X" (case (trace "X" (j)) of {
+ MkJudg __U0393_0 __U0394_0 __U03a3___U2081_ __U03a3___U2082_ lev ->
+ (trace "X" (case (trace "X" (lev)) of {
+ ([]) -> (trace "X" (j));
+ (:) h l -> (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" (lev))))))) (trace "X" ((trace "X" ((mapOptionTreeAndFlatten (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0))))))) (trace "X" (__U03a3___U2082_))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x _ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x))))))))) (trace "X" (__U03a3___U2082_))))))) (trace "X" (lev))))}))}))
+
+check_hof :: TypeEnv -> HaskType -> Prelude.Bool
+check_hof __U0393_0 t =
+ (trace "X" (let {s = (trace "X" ((trace "X" (eqd_dec (trace "X" ((trace "X" ((eqDecidableTree (trace "X" ((trace "X" ((eqDecidableOption (trace "X" ((trace "X" ((haskTypeEqDecidable (trace "X" (__U0393_0)) (trace "X" (KindStar))))))))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))))} in
+ (trace "X" (case (trace "X" (s)) of {
+ Prelude.True ->
+ (trace "X" (let {s0 = (trace "X" ((trace "X" (eqd_dec (trace "X" ((trace "X" ((haskTypeEqDecidable (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" (t))))))} in
+ (trace "X" (case (trace "X" (s0)) of {
+ Prelude.True -> (trace "X" (Prelude.False));
+ Prelude.False -> (trace "X" (Prelude.True))}))));
+ Prelude.False -> (trace "X" (Prelude.True))}))))
+
+skolemize_proof :: (Tree (Prelude.Maybe Judg)) -> (Tree (Prelude.Maybe Judg)) -> (ND Judg Rule) -> ND Judg SRule
+skolemize_proof h c x =
+ (trace "X" ((trace "X" (nd_map' (trace "X" (skolemize_judgment)) (trace "X" ((\h0 c0 x0 ->
+ (trace "X" (case (trace "X" (x0)) of {
+ RArrange __U0393_0 __U0394_0 a b x1 l d ->
+ (trace "X" (case (trace "X" (l)) 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" (a)) (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" (b)) (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" (a)) (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" (b)) (trace "X" (x1)) (trace "X" (([])))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (a)) (trace "X" (b)) (trace "X" (x1)) (trace "X" (([]))) (trace "X" (d))))))))));
+ (:) h1 l0 -> (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" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" ((trace "X" ((mapOptionTreeAndFlatten (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0))))))) (trace "X" (x1))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x2))))))))) (trace "X" (x1))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" ((trace "X" ((mapOptionTreeAndFlatten (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0))))))) (trace "X" (x1))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x2))))))))) (trace "X" (x1))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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" (a)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" ((trace "X" ((mapOptionTreeAndFlatten (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0))))))) (trace "X" (x1))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x2))))))))) (trace "X" (x1))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" ((trace "X" ((mapOptionTreeAndFlatten (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0))))))) (trace "X" (x1))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x2))))))))) (trace "X" (x1))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" ((trace "X" ((mapOptionTreeAndFlatten (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0))))))) (trace "X" (x1))))))))))))))) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" ((trace "X" ((mapOptionTreeAndFlatten (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0))))))) (trace "X" (x1))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x2))))))))) (trace "X" (x1))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0))))) (trace "X" ((ARight (trace "X" (a)) (trace "X" (b)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" ((trace "X" ((mapOptionTreeAndFlatten (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0))))))) (trace "X" (x1)))))))))))) (trace "X" (d)))))))))))))}));
+ RBrak __U0393_0 __U0394_0 t ec succ lev ->
+ (trace "X" (case (trace "X" (lev)) 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" (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" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (succ)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (haskBrak (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (t))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((SBrak (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (t)) (trace "X" (ec)) (trace "X" (succ)) (trace "X" (([]))))))));
+ (:) h1 lev0 -> (trace "X" ((trace "X" (Prelude.error (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" ('w')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('h')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('s')) (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" ('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" ('1')) (trace "X" ([]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))}));
+ REsc __U0393_0 __U0394_0 t ec succ lev ->
+ (trace "X" (case (trace "X" (lev)) 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" (succ)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (haskBrak (trace "X" (__U0393_0)) (trace "X" (ec)) (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)) (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" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (t))))))))))))))) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))))))) (trace "X" ((SEsc (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (t)) (trace "X" (ec)) (trace "X" (succ)) (trace "X" (([]))))))));
+ (:) h1 lev0 -> (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" (' ')) (trace "X" (((:) (trace "X" ('w')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('h')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('s')) (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" ('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" ('1')) (trace "X" ([])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))}));
+ RNote __U0393_0 __U0394_0 __U03a3_ __U03c4_ l n -> (trace "X" (Nd_rule (trace "X" ((trace "X" ((mapOptionTree (trace "X" (skolemize_judgment)) (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" (__U03c4_)))))))) (trace "X" (l)))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (skolemize_judgment)) (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" (__U03c4_)))))))) (trace "X" (l)))))))))))))))) (trace "X" ((SFlat (trace "X" ((trace "X" ((mapOptionTree (trace "X" (skolemize_judgment)) (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" (__U03c4_)))))))) (trace "X" (l)))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (skolemize_judgment)) (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" (__U03c4_)))))))) (trace "X" (l))))))))))))))))
+ (trace "X" ((case (trace "X" (l)) of {
+ ([]) -> (trace "X" (RNote (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" (__U03c4_)) (trace "X" (([]))) (trace "X" (n))));
+ (:) h1 l0 -> (trace "X" (RNote (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c4_))))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c4_))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0))))) (trace "X" (n))))}))))))));
+ RLit __U0393_0 __U0394_0 l l0 ->
+ (trace "X" (case (trace "X" (l0)) of {
+ ([]) -> (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.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (literalType (trace "X" (l)) (trace "X" (__U0393_0))))))))))))))) (trace "X" (([])))))))))))) (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.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (literalType (trace "X" (l)) (trace "X" (__U0393_0))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((RLit (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (l)) (trace "X" (([])))))))))));
+ (:) h1 l1 ->
+ (trace "X" (let {hof = (trace "X" ((trace "X" (check_hof (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (literalType (trace "X" (l)) (trace "X" (__U0393_0)))))))))))))} in
+ (trace "X" (case (trace "X" (hof)) 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" ('u')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('r')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('w')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('h')) (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" ('t')) (trace "X" (((:) (trace "X" ('y')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('e')) (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" ((\_ -> (trace "X" ((trace "X" (literalType (trace "X" (l)) (trace "X" (__U0393_0))))))))) (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" ((\_ -> (trace "X" ((trace "X" (literalType (trace "X" (l)) (trace "X" (__U0393_0))))))))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l1)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((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" ((\_ -> (trace "X" ((trace "X" (literalType (trace "X" (l)) (trace "X" (__U0393_0))))))))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l1)))))))))))))) (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.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (literalType (trace "X" (l)) (trace "X" (__U0393_0))))))))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l1)))))))))))))) (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.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (literalType (trace "X" (l)) (trace "X" (__U0393_0))))))))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l1)))))))))))))) (trace "X" ((RLit (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (l)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l1)))))))))))))) (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.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (literalType (trace "X" (l)) (trace "X" (__U0393_0))))))))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l1)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((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" ((\_ -> (trace "X" ((trace "X" (literalType (trace "X" (l)) (trace "X" (__U0393_0))))))))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l1)))))))))))))) (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_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (literalType (trace "X" (l)) (trace "X" (__U0393_0))))))))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l1)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((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" ((\_ -> (trace "X" ((trace "X" (literalType (trace "X" (l)) (trace "X" (__U0393_0))))))))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l1)))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (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_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (literalType (trace "X" (l)) (trace "X" (__U0393_0))))))))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l1))))) (trace "X" ((AuCanL (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (literalType (trace "X" (l)) (trace "X" (__U0393_0))))))))))))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (literalType (trace "X" (l)) (trace "X" (__U0393_0))))))))))))))))))}))))}));
+ RVar __U0393_0 __U0394_0 __U03c3_ lev ->
+ (trace "X" (case (trace "X" (lev)) of {
+ ([]) -> (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" (__U03c3_)) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" (__U03c3_)))))))) (trace "X" (([])))))))))))) (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.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3_)) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" (__U03c3_)))))))) (trace "X" (([])))))))))))) (trace "X" ((RVar (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03c3_)) (trace "X" (([])))))))))));
+ (:) h1 lev0 ->
+ (trace "X" (let {hof = (trace "X" ((trace "X" (check_hof (trace "X" (__U0393_0)) (trace "X" (__U03c3_))))))} in
+ (trace "X" (case (trace "X" (hof)) 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" ('u')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('v')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('r')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('b')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('w')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('h')) (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" ('t')) (trace "X" (((:) (trace "X" ('y')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('e')) (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_)) (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" (__U03c3_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" (__U03c3_)))))))) (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_)) (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" (__U03c3_)))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (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" (__U03c3_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" (__U03c3_)))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (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.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" (__U03c3_)))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((RVar (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03c3_)) (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_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" (__U03c3_)))))))) (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_)) (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" (__U03c3_)))))))) (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_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" (__U03c3_)))))))) (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_)) (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" (__U03c3_)))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0)))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3_)) (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" (__U03c3_)))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))) (trace "X" ((AuCanR (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3_)))))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (__U03c3_)))))))))))}))))}));
+ RGlobal __U0393_0 __U0394_0 __U03c3_ l wev ->
+ (trace "X" (case (trace "X" (__U03c3_)) of {
+ ([]) -> (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.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (glob_tf (trace "X" (__U0393_0)) (trace "X" (l)) (trace "X" (wev))))))))))))))) (trace "X" (([])))))))))))) (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.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (glob_tf (trace "X" (__U0393_0)) (trace "X" (l)) (trace "X" (wev))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((RGlobal (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (([]))) (trace "X" (l)) (trace "X" (wev))))))))));
+ (:) h1 __U03c3_0 ->
+ (trace "X" (let {hof = (trace "X" ((trace "X" (check_hof (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (glob_tf (trace "X" (__U0393_0)) (trace "X" (l)) (trace "X" (wev)))))))))))))} in
+ (trace "X" (case (trace "X" (hof)) 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" ('u')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('g')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('b')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('w')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('h')) (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" ('t')) (trace "X" (((:) (trace "X" ('y')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('e')) (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" ((\_ -> (trace "X" ((trace "X" (glob_tf (trace "X" (__U0393_0)) (trace "X" (l)) (trace "X" (wev))))))))) (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" ((\_ -> (trace "X" ((trace "X" (glob_tf (trace "X" (__U0393_0)) (trace "X" (l)) (trace "X" (wev))))))))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (__U03c3_0)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((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" ((\_ -> (trace "X" ((trace "X" (glob_tf (trace "X" (__U0393_0)) (trace "X" (l)) (trace "X" (wev))))))))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (__U03c3_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.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (glob_tf (trace "X" (__U0393_0)) (trace "X" (l)) (trace "X" (wev))))))))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (__U03c3_0)))))))))))))) (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.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (glob_tf (trace "X" (__U0393_0)) (trace "X" (l)) (trace "X" (wev))))))))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (__U03c3_0)))))))))))))) (trace "X" ((RGlobal (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (__U03c3_0))))) (trace "X" (l)) (trace "X" (wev))))))))))) (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.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (glob_tf (trace "X" (__U0393_0)) (trace "X" (l)) (trace "X" (wev))))))))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (__U03c3_0)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((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" ((\_ -> (trace "X" ((trace "X" (glob_tf (trace "X" (__U0393_0)) (trace "X" (l)) (trace "X" (wev))))))))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (__U03c3_0)))))))))))))) (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_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (glob_tf (trace "X" (__U0393_0)) (trace "X" (l)) (trace "X" (wev))))))))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (__U03c3_0)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((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" ((\_ -> (trace "X" ((trace "X" (glob_tf (trace "X" (__U0393_0)) (trace "X" (l)) (trace "X" (wev))))))))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (__U03c3_0)))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (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_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (glob_tf (trace "X" (__U0393_0)) (trace "X" (l)) (trace "X" (wev))))))))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (__U03c3_0))))) (trace "X" ((AuCanR (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (glob_tf (trace "X" (__U0393_0)) (trace "X" (l)) (trace "X" (wev))))))))))))))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (glob_tf (trace "X" (__U0393_0)) (trace "X" (l)) (trace "X" (wev))))))))))))))))))}))))}));
+ RLam __U0393_0 __U0394_0 __U03a3_ tx te lev ->
+ (trace "X" (case (trace "X" (lev)) of {
+ ([]) -> (trace "X" (Nd_rule (trace "X" ((trace "X" ((mapOptionTree (trace "X" (skolemize_judgment)) (trace "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" (tx)) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" (te)))))))) (trace "X" (([]))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (skolemize_judgment)) (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" ((\_ 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" ((SFlat (trace "X" ((trace "X" ((mapOptionTree (trace "X" (skolemize_judgment)) (trace "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" (tx)) (trace "X" (([]))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" (te)))))))) (trace "X" (([]))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (skolemize_judgment)) (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" ((\_ 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" ((RLam (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (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" ((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_)) (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" ((\_ -> (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_)) (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" ((\_ -> (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_)) (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" ((\_ -> (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_)) (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" ((\_ -> (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_)) (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" (__U03a3_)) (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" ((\_ -> (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" ((AComp (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3_)) (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" (__U03a3_)) (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" (__U03a3_)) (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" ((AuAssoc (trace "X" (__U03a3_)) (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" ((ALeft (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" ((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" (__U03a3_)) (trace "X" ((trace "X" ((take_arrange (trace "X" (__U0393_0)) (trace "X" (tx)) (trace "X" (te)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))))))))))))))))))))))) (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)))))))))))))))))))))))}));
+ RCast __U0393_0 __U0394_0 __U03a3_ __U03c3_ __U03c4_ lev ->
+ (trace "X" (case (trace "X" (lev)) 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" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" (__U03c3_)))))))) (trace "X" (([])))))))))))) (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" (__U03c4_)))))))) (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" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" (__U03c3_)))))))) (trace "X" (([])))))))))))) (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" (__U03c4_)))))))) (trace "X" (([])))))))))))) (trace "X" ((RCast (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" (__U03c3_)) (trace "X" (__U03c4_)) (trace "X" (([])))))))))));
+ (:) 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" ('R')) (trace "X" (((:) (trace "X" ('C')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('t')) (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" ((\_ 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" (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" (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" ((\_ 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" (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" (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" ((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" ((\_ -> (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" (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" ((\_ -> (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" (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" ((\_ -> (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" ((\_ -> (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" (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" ((\_ -> (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" (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((ALeft (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" (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" (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" (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" (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" (tx)))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (lev0))))) (trace "X" ((ACanR (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" ((\_ -> (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" (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" ((\_ -> (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" ((\_ -> (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_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" ((\_ -> (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" (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" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (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" ((\_ -> (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" ((\_ -> (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_exch (trace "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" ((\_ -> (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" (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___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (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" ((\_ -> (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" ((\_ -> (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___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (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" ((\_ -> (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" ((\_ -> (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" ((RCut (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" (tx)))))))) (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((AAssoc (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)))))))))))))))))))))))}));
+ RCut __U0393_0 __U0394_0 __U03a3_ __U03a3___U2081_ __U03a3___U2081___U2082_ __U03a3___U2082_ __U03a3___U2083_ l ->
+ (trace "X" (case (trace "X" (l)) 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" (__U03a3___U2081___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_)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" (__U03a3___U2081___U2082_))))))) (trace "X" (__U03a3___U2082_)))))))) (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_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_)))))))) (trace "X" (__U03a3___U2083_)) (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" (__U03a3___U2081___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_)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" (__U03a3___U2081___U2082_))))))) (trace "X" (__U03a3___U2082_)))))))) (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_)) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_)))))))) (trace "X" (__U03a3___U2083_)) (trace "X" (([])))))))))))) (trace "X" ((RCut (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2081___U2082_)) (trace "X" (__U03a3___U2082_)) (trace "X" (__U03a3___U2083_)) (trace "X" (([])))))))))));
+ (:) h1 l0 ->
+ (trace "X" (let {__U03a3___U2083_'' = (trace "X" ((trace "X" (mapOptionTreeAndFlatten (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0))))))) (trace "X" (__U03a3___U2083_))))))} in
+ (trace "X" (let {__U03a3___U2083_''' = (trace "X" ((trace "X" (mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1))))))))) (trace "X" (__U03a3___U2083_))))))} in
+ (trace "X" (let {__U03a3___U2081___U2082_'' = (trace "X" ((trace "X" (mapOptionTreeAndFlatten (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0))))))) (trace "X" (__U03a3___U2081___U2082_))))))} in
+ (trace "X" (let {__U03a3___U2081___U2082_''' = (trace "X" ((trace "X" (mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1))))))))) (trace "X" (__U03a3___U2081___U2082_))))))} in
+ (trace "X" (let {s = (trace "X" ((trace "X" (decide_tree_empty (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2081___U2082_'')))))))))))} in
+ (trace "X" (case (trace "X" (s)) of {
+ Prelude.Left s0 ->
+ (trace "X" (let {s1 = (trace "X" ((trace "X" (eqd_dec (trace "X" ((trace "X" ((eqDecidableTree (trace "X" ((trace "X" ((eqDecidableOption (trace "X" ((trace "X" ((haskTypeEqDecidable (trace "X" (__U0393_0)) (trace "X" (KindStar))))))))))))))))) (trace "X" (__U03a3___U2081___U2082_)) (trace "X" (__U03a3___U2081___U2082_'''))))))} in
+ (trace "X" (case (trace "X" (s1)) of {
+ Prelude.True -> (trace "X" ((trace "X" (eq_rect (trace "X" (__U03a3___U2081___U2082_)) (trace "X" ((case (trace "X" (s0)) of {
+ ExistT x1 _ -> (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" (l0)))))))))) (trace "X" (__U03a3___U2081___U2082_'')))))))))) (trace "X" (__U03a3___U2081___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((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_)) (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" (l0)))))))))) (trace "X" (__U03a3___U2081___U2082_))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2083_'')))))))))) (trace "X" (__U03a3___U2083_''')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0))))))))))))))))) (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" (__U03a3___U2081___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((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_)) (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" (l0)))))))))) (trace "X" (__U03a3___U2081___U2082_))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2083_'')))))))))) (trace "X" (__U03a3___U2083_''')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0))))))))))))))))) (trace "X" ((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_)) (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" (l0)))))))))) (trace "X" (__U03a3___U2083_'')))))))))) (trace "X" (__U03a3___U2083_''')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2081___U2082_'')))))))))) (trace "X" (__U03a3___U2081___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((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_)) (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" (l0)))))))))) (trace "X" (__U03a3___U2081___U2082_))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2083_'')))))))))) (trace "X" (__U03a3___U2083_''')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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" (__U03a3___U2081___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((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_)) (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" (l0)))))))))) (trace "X" (__U03a3___U2081___U2082_))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2083_'')))))))))) (trace "X" (__U03a3___U2083_''')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2081___U2082_'')))))))))) (trace "X" (__U03a3___U2081___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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" (__U03a3___U2081___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2081___U2082_'')))))))))) (trace "X" (__U03a3___U2081___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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" (__U03a3___U2081___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2081___U2082_'')))))))))) (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2081___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0))))) (trace "X" ((AComp (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" (l0)))))))))) (trace "X" (__U03a3___U2081___U2082_'')))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2081_)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" (__U03a3___U2081_)) (trace "X" ((ALeft (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2081___U2082_''))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (__U03a3___U2081_)) (trace "X" ((trace "X" ((arrangeCancelEmptyTree (trace "X" (x1)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2081___U2082_''))))))))))))))) (trace "X" ((ACanR (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" (__U03a3_)) (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" (l0)))))))))) (trace "X" (__U03a3___U2081___U2082_))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2083_'')))))))))) (trace "X" (__U03a3___U2083_''')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))))))))))) (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" (__U03a3___U2081___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((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_)) (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" (l0)))))))))) (trace "X" (__U03a3___U2081___U2082_))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2083_'')))))))))) (trace "X" (__U03a3___U2083_''')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0))))))))))))))))) (trace "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_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" (l0)))))))))) (trace "X" (__U03a3___U2083_''))))))))))))) (trace "X" (__U03a3___U2083_''')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((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_)) (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" (l0)))))))))) (trace "X" (__U03a3___U2083_'')))))))))) (trace "X" (__U03a3___U2083_''')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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" (__U03a3___U2081___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((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_)) (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" (l0)))))))))) (trace "X" (__U03a3___U2081___U2082_))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2083_'')))))))))) (trace "X" (__U03a3___U2083_''')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0))))))))))))))))) (trace "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_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" (l0)))))))))) (trace "X" (__U03a3___U2083_'')))))))))))))))) (trace "X" (__U03a3___U2083_''')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "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_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" (l0)))))))))) (trace "X" (__U03a3___U2083_''))))))))))))) (trace "X" (__U03a3___U2083_''')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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" (__U03a3___U2081___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((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_)) (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" (l0)))))))))) (trace "X" (__U03a3___U2081___U2082_))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2083_'')))))))))) (trace "X" (__U03a3___U2083_''')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0))))))))))))))))) (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" (__U03a3___U2081___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "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_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2081___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" (l0)))))))))) (trace "X" (__U03a3___U2083_'')))))))))))))))) (trace "X" (__U03a3___U2083_''')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0))))))))))))))))) (trace "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_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" (l0)))))))))) (trace "X" (__U03a3___U2083_'')))))))))))))))) (trace "X" (__U03a3___U2083_''')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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" (__U03a3___U2081___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((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_)) (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" (l0)))))))))) (trace "X" (__U03a3___U2081___U2082_))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2083_'')))))))))) (trace "X" (__U03a3___U2083_''')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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" (__U03a3___U2081___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "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_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2081___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" (l0)))))))))) (trace "X" (__U03a3___U2083_'')))))))))))))))) (trace "X" (__U03a3___U2083_''')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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" (__U03a3___U2081___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0))))))))))))))))))) (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_)) (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" (l0)))))))))) (trace "X" (__U03a3___U2081___U2082_))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2083_'')))))))))) (trace "X" (__U03a3___U2083_''')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "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_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2081___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" (l0)))))))))) (trace "X" (__U03a3___U2083_'')))))))))))))))) (trace "X" (__U03a3___U2083_''')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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_)) (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" (l0)))))))))) (trace "X" (__U03a3___U2081___U2082_))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2083_'')))))))))) (trace "X" (__U03a3___U2083_''')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "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_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2081___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" (l0)))))))))) (trace "X" (__U03a3___U2083_'')))))))))))))))) (trace "X" (__U03a3___U2083_''')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3_)) (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" (l0)))))))))) (trace "X" (__U03a3___U2081___U2082_))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2083_'')))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (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" (l0)))))))))) (trace "X" (__U03a3___U2081___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" (l0)))))))))) (trace "X" (__U03a3___U2083_'')))))))))))))))) (trace "X" (__U03a3___U2083_''')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0))))) (trace "X" ((AComp (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3_)) (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" (l0)))))))))) (trace "X" (__U03a3___U2081___U2082_))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2083_'')))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" ((T_Branch (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" (l0)))))))))) (trace "X" (__U03a3___U2081___U2082_))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2083_''))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (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" (l0)))))))))) (trace "X" (__U03a3___U2081___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" (l0)))))))))) (trace "X" (__U03a3___U2083_'')))))))))))))))) (trace "X" ((AuAssoc (trace "X" (__U03a3_)) (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" (l0)))))))))) (trace "X" (__U03a3___U2081___U2082_))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2083_'')))))))))) (trace "X" ((ALeft (trace "X" ((T_Branch (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" (l0)))))))))) (trace "X" (__U03a3___U2081___U2082_))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2083_'')))))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2081___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" (l0)))))))))) (trace "X" (__U03a3___U2083_''))))))))))))) (trace "X" (__U03a3_)) (trace "X" ((AComp (trace "X" ((T_Branch (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" (l0)))))))))) (trace "X" (__U03a3___U2081___U2082_))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2083_'')))))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2081___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" (l0)))))))))) (trace "X" (__U03a3___U2083_''))))))))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2081___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" (l0)))))))))) (trace "X" (__U03a3___U2083_''))))))))))))) (trace "X" ((AuAssoc (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2081___U2082_))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2083_'')))))))))) (trace "X" ((ALeft (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" (l0)))))))))) (trace "X" (__U03a3___U2083_'')))))))))) (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" (l0)))))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2081___U2082_))))))) (trace "X" ((AId (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" (l0)))))))))) (trace "X" (__U03a3___U2083_''))))))))))))))))))))))))))))))))))))) (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" (__U03a3___U2081___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "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_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2081___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" (l0)))))))))) (trace "X" (__U03a3___U2083_'')))))))))))))))) (trace "X" (__U03a3___U2083_''')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0))))))))))))))))) (trace "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_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" (l0)))))))))) (trace "X" (__U03a3___U2083_'')))))))))))))))) (trace "X" (__U03a3___U2083_''')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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" (__U03a3___U2081___U2082_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "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_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2081___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" (l0)))))))))) (trace "X" (__U03a3___U2083_'')))))))))))))))) (trace "X" (__U03a3___U2083_''')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0))))))))))))))))) (trace "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_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" (l0)))))))))) (trace "X" (__U03a3___U2083_'')))))))))))))))) (trace "X" (__U03a3___U2083_''')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((RCut (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2081___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" (l0)))))))))) (trace "X" (__U03a3___U2083_'')))))))))) (trace "X" (__U03a3___U2083_''')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0))))))))))))))))) (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_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" (l0)))))))))) (trace "X" (__U03a3___U2083_'')))))))))))))))) (trace "X" (__U03a3___U2083_''')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "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_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" (l0)))))))))) (trace "X" (__U03a3___U2083_''))))))))))))) (trace "X" (__U03a3___U2083_''')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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_)) (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" (l0)))))))))) (trace "X" (__U03a3___U2083_'')))))))))))))))) (trace "X" (__U03a3___U2083_''')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "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_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" (l0)))))))))) (trace "X" (__U03a3___U2083_''))))))))))))) (trace "X" (__U03a3___U2083_''')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (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" (l0)))))))))) (trace "X" (__U03a3___U2083_'')))))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (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" (l0)))))))))) (trace "X" (__U03a3___U2083_''))))))))))))) (trace "X" (__U03a3___U2083_''')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0))))) (trace "X" ((ALeft (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" (l0)))))))))) (trace "X" (__U03a3___U2083_''))))))))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2083_'')))))))))) (trace "X" (__U03a3_)) (trace "X" ((AAssoc (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" (l0)))))))))) (trace "X" (__U03a3___U2083_''))))))))))))))))))))))))) (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_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" (l0)))))))))) (trace "X" (__U03a3___U2083_''))))))))))))) (trace "X" (__U03a3___U2083_''')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((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_)) (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" (l0)))))))))) (trace "X" (__U03a3___U2083_'')))))))))) (trace "X" (__U03a3___U2083_''')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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_)) (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" (l0)))))))))) (trace "X" (__U03a3___U2083_''))))))))))))) (trace "X" (__U03a3___U2083_''')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((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_)) (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" (l0)))))))))) (trace "X" (__U03a3___U2083_'')))))))))) (trace "X" (__U03a3___U2083_''')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (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" (l0)))))))))) (trace "X" (__U03a3___U2083_''))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (__U03a3_)) (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" (l0)))))))))) (trace "X" (__U03a3___U2083_'')))))))))) (trace "X" (__U03a3___U2083_''')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0))))) (trace "X" ((AAssoc (trace "X" (__U03a3_)) (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" (l0)))))))))) (trace "X" (__U03a3___U2083_''))))))))))))))))))))))))}))) (trace "X" (__U03a3___U2081___U2082_'''))))));
+ Prelude.False -> (trace "X" ((trace "X" (Prelude.error (trace "X" (((:) (trace "X" ('u')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('d')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('R')) (trace "X" (((:) (trace "X" ('C')) (trace "X" (((:) (trace "X" ('u')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('v')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('r')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('b')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('w')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('h')) (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" ('t')) (trace "X" (((:) (trace "X" ('y')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('e')) (trace "X" ([]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))}))));
+ Prelude.Right u -> (trace "X" ((trace "X" (Prelude.error (trace "X" (((:) (trace "X" ('u')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('d')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('R')) (trace "X" (((:) (trace "X" ('C')) (trace "X" (((:) (trace "X" ('u')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('v')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('r')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('b')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('w')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('h')) (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" ('t')) (trace "X" (((:) (trace "X" ('y')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('e')) (trace "X" ([]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))}))))))))))))}));
+ RLeft __U0393_0 __U0394_0 __U03a3___U2081_ __U03a3___U2082_ __U03a3_ l ->
+ (trace "X" (case (trace "X" (l)) 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" (__U03a3___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" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" (__U03a3_))))))) (trace "X" (__U03a3___U2081_))))) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" (__U03a3___U2082_))))) (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" (__U03a3___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" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" (__U03a3_))))))) (trace "X" (__U03a3___U2081_))))) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" (__U03a3___U2082_))))) (trace "X" (([])))))))))))) (trace "X" ((RLeft (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_)) (trace "X" (__U03a3_)) (trace "X" (([])))))))))));
+ (:) h1 l0 ->
+ (trace "X" (let {__U03a3___U2082_' = (trace "X" ((trace "X" (mapOptionTreeAndFlatten (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0))))))) (trace "X" (__U03a3___U2082_))))))} in
+ (trace "X" (let {__U03a3_' = (trace "X" ((trace "X" (mapOptionTreeAndFlatten (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0))))))) (trace "X" (__U03a3_))))))} in
+ (trace "X" (let {__U03a3___U2082_'' = (trace "X" ((trace "X" (mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1))))))))) (trace "X" (__U03a3___U2082_))))))} in
+ (trace "X" (let {__U03a3_'' = (trace "X" ((trace "X" (mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1))))))))) (trace "X" (__U03a3_))))))} in
+ (trace "X" (let {s = (trace "X" ((trace "X" (decide_tree_empty (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3_')))))))))))} in
+ (trace "X" (case (trace "X" (s)) of {
+ Prelude.Left s0 ->
+ (trace "X" (let {s1 = (trace "X" ((trace "X" (eqd_dec (trace "X" ((trace "X" ((eqDecidableTree (trace "X" ((trace "X" ((eqDecidableOption (trace "X" ((trace "X" ((haskTypeEqDecidable (trace "X" (__U0393_0)) (trace "X" (KindStar))))))))))))))))) (trace "X" (__U03a3_)) (trace "X" (__U03a3_''))))))} in
+ (trace "X" (case (trace "X" (s1)) of {
+ Prelude.True -> (trace "X" ((trace "X" (eq_rect (trace "X" (__U03a3_)) (trace "X" ((case (trace "X" (s0)) of {
+ ExistT x1 _ -> (trace "X" (let {q = (trace "X" ((trace "X" (arrangeUnCancelEmptyTree (trace "X" (x1)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3_')))))))))))} 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" (__U03a3___U2081_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2082_')))))))))) (trace "X" (__U03a3___U2082_'')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((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" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3_))))))) (trace "X" (__U03a3___U2081_))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2082_'))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" (__U03a3___U2082_''))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((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" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3_))))))) (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" (l0)))))))))) (trace "X" (__U03a3_'))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2082_'))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" (__U03a3___U2082_''))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2082_')))))))))) (trace "X" (__U03a3___U2082_'')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((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" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3_))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2082_')))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" (__U03a3___U2082_''))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((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" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3_))))))) (trace "X" (__U03a3___U2081_))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2082_'))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" (__U03a3___U2082_''))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2082_')))))))))) (trace "X" (__U03a3___U2082_'')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "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" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3_))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2082_'))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" (__U03a3___U2082_''))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((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" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3_))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2082_')))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" (__U03a3___U2082_''))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2082_')))))))))) (trace "X" (__U03a3___U2082_'')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "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" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3_))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2082_'))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" (__U03a3___U2082_''))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2082_')))))))))) (trace "X" (__U03a3___U2082_'')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "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" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3_))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2082_'))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" (__U03a3___U2082_''))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((RLeft (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" (l0)))))))))) (trace "X" (__U03a3___U2082_')))))))))) (trace "X" (__U03a3___U2082_'')) (trace "X" (__U03a3_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3_))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2082_'))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" (__U03a3___U2082_''))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((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" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3_))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2082_')))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" (__U03a3___U2082_''))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3_))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2082_'))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" (__U03a3___U2082_''))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((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" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3_))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2082_')))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" (__U03a3___U2082_''))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (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" (l0)))))))))) (trace "X" (__U03a3_))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2082_'))))))))))))) (trace "X" ((T_Branch (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" (l0)))))))))) (trace "X" (__U03a3_))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2082_')))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" (__U03a3___U2082_''))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0))))) (trace "X" ((AAssoc (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3_))))))) (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" (l0)))))))))) (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" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3_))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2082_')))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" (__U03a3___U2082_''))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((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" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3_))))))) (trace "X" (__U03a3___U2081_))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2082_'))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" (__U03a3___U2082_''))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3_))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2082_')))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" (__U03a3___U2082_''))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((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" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3_))))))) (trace "X" (__U03a3___U2081_))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2082_'))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" (__U03a3___U2082_''))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3_))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2082_')))))))))) (trace "X" ((T_Branch (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" (l0)))))))))) (trace "X" (__U03a3_))))))) (trace "X" (__U03a3___U2081_))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2082_'))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" (__U03a3___U2082_''))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0))))) (trace "X" ((ALeft (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2082_'))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (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" (l0)))))))))) (trace "X" (__U03a3_))))))) (trace "X" (__U03a3___U2081_))))) (trace "X" ((AuCanL (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (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" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3_))))))) (trace "X" (__U03a3___U2081_))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2082_'))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" (__U03a3___U2082_''))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((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" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3_))))))) (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" (l0)))))))))) (trace "X" (__U03a3_'))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2082_'))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" (__U03a3___U2082_''))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3_))))))) (trace "X" (__U03a3___U2081_))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2082_'))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" (__U03a3___U2082_''))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((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" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3_))))))) (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" (l0)))))))))) (trace "X" (__U03a3_'))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2082_'))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" (__U03a3___U2082_''))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3_))))))) (trace "X" (__U03a3___U2081_))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2082_'))))))))))))) (trace "X" ((T_Branch (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" (l0)))))))))) (trace "X" (__U03a3_))))))) (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" (l0)))))))))) (trace "X" (__U03a3_'))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2082_'))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3_)) (trace "X" (__U03a3___U2082_''))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0))))) (trace "X" ((ALeft (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (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" (l0)))))))))) (trace "X" (__U03a3_'))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (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" (l0)))))))))) (trace "X" (__U03a3_))))))) (trace "X" (__U03a3___U2081_))))) (trace "X" ((ARight (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3_'))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2082_'))))))) (trace "X" (q)))))))))))))))))))))}))) (trace "X" (__U03a3_''))))));
+ Prelude.False -> (trace "X" ((trace "X" (Prelude.error (trace "X" (((:) (trace "X" ('u')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('d')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('R')) (trace "X" (((:) (trace "X" ('L')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('f')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('v')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('r')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('b')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('w')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('h')) (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" ('t')) (trace "X" (((:) (trace "X" ('y')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('e')) (trace "X" ([])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))}))));
+ Prelude.Right u -> (trace "X" ((trace "X" (Prelude.error (trace "X" (((:) (trace "X" ('u')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('d')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('R')) (trace "X" (((:) (trace "X" ('L')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('f')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('v')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('r')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('b')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('w')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('h')) (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" ('t')) (trace "X" (((:) (trace "X" ('y')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('e')) (trace "X" ([])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))}))))))))))))}));
+ RRight __U0393_0 __U0394_0 __U03a3___U2081_ __U03a3___U2082_ __U03a3_ l ->
+ (trace "X" (case (trace "X" (l)) 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" (__U03a3___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" (__U03a3___U2081_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" (__U03a3_)))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" (__U03a3_))))) (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" (__U03a3___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" (__U03a3___U2081_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" (__U03a3_)))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_)) (trace "X" (__U03a3_))))) (trace "X" (([])))))))))))) (trace "X" ((RRight (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3___U2081_)) (trace "X" (__U03a3___U2082_)) (trace "X" (__U03a3_)) (trace "X" (([])))))))))));
+ (:) h1 l0 ->
+ (trace "X" (let {__U03a3___U2082_' = (trace "X" ((trace "X" (mapOptionTreeAndFlatten (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0))))))) (trace "X" (__U03a3___U2082_))))))} in
+ (trace "X" (let {__U03a3_' = (trace "X" ((trace "X" (mapOptionTreeAndFlatten (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0))))))) (trace "X" (__U03a3_))))))} in
+ (trace "X" (let {__U03a3___U2082_'' = (trace "X" ((trace "X" (mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1))))))))) (trace "X" (__U03a3___U2082_))))))} in
+ (trace "X" (let {__U03a3_'' = (trace "X" ((trace "X" (mapOptionTree (trace "X" ((\x1 _ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1))))))))) (trace "X" (__U03a3_))))))} in
+ (trace "X" (let {s = (trace "X" ((trace "X" (decide_tree_empty (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3_')))))))))))} in
+ (trace "X" (case (trace "X" (s)) of {
+ Prelude.Left s0 ->
+ (trace "X" (let {s1 = (trace "X" ((trace "X" (eqd_dec (trace "X" ((trace "X" ((eqDecidableTree (trace "X" ((trace "X" ((eqDecidableOption (trace "X" ((trace "X" ((haskTypeEqDecidable (trace "X" (__U0393_0)) (trace "X" (KindStar))))))))))))))))) (trace "X" (__U03a3_)) (trace "X" (__U03a3_''))))))} in
+ (trace "X" (case (trace "X" (s1)) of {
+ Prelude.True -> (trace "X" ((trace "X" (eq_rect (trace "X" (__U03a3_)) (trace "X" ((case (trace "X" (s0)) of {
+ ExistT x1 _ -> (trace "X" (let {q = (trace "X" ((trace "X" (arrangeUnCancelEmptyTree (trace "X" (x1)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3_')))))))))))} 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" (__U03a3___U2081_)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2082_')))))))))) (trace "X" (__U03a3___U2082_'')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((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" (l0)))))))))) (trace "X" (__U03a3_)))))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2082_'))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_'')) (trace "X" (__U03a3_))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((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" (l0)))))))))) (trace "X" (__U03a3_)))))))))) (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" (l0)))))))))) (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" (l0)))))))))) (trace "X" (__U03a3_'))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_'')) (trace "X" (__U03a3_))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2082_')))))))))) (trace "X" (__U03a3___U2082_'')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((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" (l0)))))))))) (trace "X" (__U03a3_)))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2082_')))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_'')) (trace "X" (__U03a3_))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((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" (l0)))))))))) (trace "X" (__U03a3_)))))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2082_'))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_'')) (trace "X" (__U03a3_))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2082_')))))))))) (trace "X" (__U03a3___U2082_'')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "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" (l0)))))))))) (trace "X" (__U03a3_))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2082_'))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_'')) (trace "X" (__U03a3_))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((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" (l0)))))))))) (trace "X" (__U03a3_)))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2082_')))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_'')) (trace "X" (__U03a3_))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2082_')))))))))) (trace "X" (__U03a3___U2082_'')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "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" (l0)))))))))) (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" (l0)))))))))) (trace "X" (__U03a3_))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_'')) (trace "X" (__U03a3_))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "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" (l0)))))))))) (trace "X" (__U03a3_))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2082_'))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_'')) (trace "X" (__U03a3_))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2082_')))))))))) (trace "X" (__U03a3___U2082_'')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((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" (l0)))))))))) (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" (l0)))))))))) (trace "X" (__U03a3_)))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_'')) (trace "X" (__U03a3_))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "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" (l0)))))))))) (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" (l0)))))))))) (trace "X" (__U03a3_))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_'')) (trace "X" (__U03a3_))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2082_')))))))))) (trace "X" (__U03a3___U2082_'')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((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" (l0)))))))))) (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" (l0)))))))))) (trace "X" (__U03a3_)))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_'')) (trace "X" (__U03a3_))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2082_')))))))))) (trace "X" (__U03a3___U2082_'')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((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" (l0)))))))))) (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" (l0)))))))))) (trace "X" (__U03a3_)))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_'')) (trace "X" (__U03a3_))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((RRight (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" (l0)))))))))) (trace "X" (__U03a3___U2082_')))))))))) (trace "X" (__U03a3___U2082_'')) (trace "X" (__U03a3_)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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" (l0)))))))))) (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" (l0)))))))))) (trace "X" (__U03a3_)))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_'')) (trace "X" (__U03a3_))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "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" (l0)))))))))) (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" (l0)))))))))) (trace "X" (__U03a3_))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_'')) (trace "X" (__U03a3_))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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" (l0)))))))))) (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" (l0)))))))))) (trace "X" (__U03a3_)))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_'')) (trace "X" (__U03a3_))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "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" (l0)))))))))) (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" (l0)))))))))) (trace "X" (__U03a3_))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_'')) (trace "X" (__U03a3_))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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" (l0)))))))))) (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" (l0)))))))))) (trace "X" (__U03a3_)))))))))) (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" (l0)))))))))) (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" (l0)))))))))) (trace "X" (__U03a3_))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_'')) (trace "X" (__U03a3_))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0))))) (trace "X" ((AuAssoc (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" (l0)))))))))) (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" (l0)))))))))) (trace "X" (__U03a3_)))))))))))))))))))))) (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" (l0)))))))))) (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" (l0)))))))))) (trace "X" (__U03a3_))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_'')) (trace "X" (__U03a3_))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "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" (l0)))))))))) (trace "X" (__U03a3_))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2082_'))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_'')) (trace "X" (__U03a3_))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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" (l0)))))))))) (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" (l0)))))))))) (trace "X" (__U03a3_))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_'')) (trace "X" (__U03a3_))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "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" (l0)))))))))) (trace "X" (__U03a3_))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2082_'))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_'')) (trace "X" (__U03a3_))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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" (l0)))))))))) (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" (l0)))))))))) (trace "X" (__U03a3_))))))))))))) (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" (l0)))))))))) (trace "X" (__U03a3_))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2082_'))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_'')) (trace "X" (__U03a3_))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0))))) (trace "X" ((ALeft (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" (l0)))))))))) (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" (l0)))))))))) (trace "X" (__U03a3_)))))))))) (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" (l0)))))))))) (trace "X" (__U03a3_))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2082_')))))))))) (trace "X" (__U03a3___U2081_)) (trace "X" ((AExch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3_))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (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" (l0)))))))))) (trace "X" (__U03a3_))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2082_'))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_'')) (trace "X" (__U03a3_))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((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" (l0)))))))))) (trace "X" (__U03a3_)))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2082_')))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_'')) (trace "X" (__U03a3_))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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" (l0)))))))))) (trace "X" (__U03a3_))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2082_'))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_'')) (trace "X" (__U03a3_))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((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" (l0)))))))))) (trace "X" (__U03a3_)))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2082_')))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_'')) (trace "X" (__U03a3_))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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" (l0)))))))))) (trace "X" (__U03a3_))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2082_'))))))))))))) (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" (l0)))))))))) (trace "X" (__U03a3_)))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2082_')))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_'')) (trace "X" (__U03a3_))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0))))) (trace "X" ((AAssoc (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" (l0)))))))))) (trace "X" (__U03a3_))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (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" ((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" (l0)))))))))) (trace "X" (__U03a3_)))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2082_')))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_'')) (trace "X" (__U03a3_))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((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" (l0)))))))))) (trace "X" (__U03a3_)))))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2082_'))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_'')) (trace "X" (__U03a3_))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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" (l0)))))))))) (trace "X" (__U03a3_)))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2082_')))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_'')) (trace "X" (__U03a3_))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((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" (l0)))))))))) (trace "X" (__U03a3_)))))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2082_'))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_'')) (trace "X" (__U03a3_))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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" (l0)))))))))) (trace "X" (__U03a3_)))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2082_')))))))))) (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" (l0)))))))))) (trace "X" (__U03a3_)))))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2082_'))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_'')) (trace "X" (__U03a3_))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0))))) (trace "X" ((ALeft (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2082_'))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (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" (l0)))))))))) (trace "X" (__U03a3_)))))))))) (trace "X" ((AuCanR (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (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" ((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" (l0)))))))))) (trace "X" (__U03a3_)))))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2082_'))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_'')) (trace "X" (__U03a3_))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((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" (l0)))))))))) (trace "X" (__U03a3_)))))))))) (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" (l0)))))))))) (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" (l0)))))))))) (trace "X" (__U03a3_'))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_'')) (trace "X" (__U03a3_))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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" (l0)))))))))) (trace "X" (__U03a3_)))))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2082_'))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_'')) (trace "X" (__U03a3_))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((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" (l0)))))))))) (trace "X" (__U03a3_)))))))))) (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" (l0)))))))))) (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" (l0)))))))))) (trace "X" (__U03a3_'))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_'')) (trace "X" (__U03a3_))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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" (l0)))))))))) (trace "X" (__U03a3_)))))))))) (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" (l0)))))))))) (trace "X" (__U03a3___U2082_'))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))) (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" (l0)))))))))) (trace "X" (__U03a3_)))))))))) (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" (l0)))))))))) (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" (l0)))))))))) (trace "X" (__U03a3_'))))))))))))) (trace "X" ((T_Branch (trace "X" (__U03a3___U2082_'')) (trace "X" (__U03a3_))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0))))) (trace "X" ((ALeft (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" (l0)))))))))) (trace "X" (__U03a3___U2082_'))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (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" (l0)))))))))) (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" (l0)))))))))) (trace "X" (__U03a3_')))))))))) (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" (l0)))))))))) (trace "X" (__U03a3_)))))))))) (trace "X" ((ALeft (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3_'))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))) (trace "X" (__U03a3___U2082_'))))))) (trace "X" (q)))))))))))))))))))))}))) (trace "X" (__U03a3_''))))));
+ Prelude.False -> (trace "X" ((trace "X" (Prelude.error (trace "X" (((:) (trace "X" ('u')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('d')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('R')) (trace "X" (((:) (trace "X" ('R')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('g')) (trace "X" (((:) (trace "X" ('h')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('v')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('r')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('b')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('w')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('h')) (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" ('t')) (trace "X" (((:) (trace "X" ('y')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('e')) (trace "X" ([]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))}))));
+ Prelude.Right u -> (trace "X" ((trace "X" (Prelude.error (trace "X" (((:) (trace "X" ('u')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('d')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('R')) (trace "X" (((:) (trace "X" ('R')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('g')) (trace "X" (((:) (trace "X" ('h')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('v')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('r')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('b')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('w')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('h')) (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" ('t')) (trace "X" (((:) (trace "X" ('y')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('e')) (trace "X" ([]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))}))))))))))))}));
+ RVoid __U0393_0 __U0394_0 l ->
+ (trace "X" (case (trace "X" (l)) of {
+ ([]) -> (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" (([])))))))))))) (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" (([])))))))))))) (trace "X" ((RVoid (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (([])))))))))));
+ (:) h1 l0 -> (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.Nothing))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((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.Nothing))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((RVoid (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((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.Nothing))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (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_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((T_Leaf (trace "X" ((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.Nothing))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0)))))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (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_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (l0))))) (trace "X" ((AuCanL (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))))))))))))))}));
+ RAppT __U0393_0 __U0394_0 __U03a3_ __U03ba_ __U03c3_ __U03c4_ lev ->
+ (trace "X" (case (trace "X" (lev)) 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" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (haskTAll (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (__U03c3_))))))))))))))) (trace "X" (([])))))))))))) (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" ((\_ -> (trace "X" ((trace "X" (substT (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (KindStar)) (trace "X" (__U03c3_)) (trace "X" (__U03c4_))))))))))))))) (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" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (haskTAll (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (__U03c3_))))))))))))))) (trace "X" (([])))))))))))) (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" ((\_ -> (trace "X" ((trace "X" (substT (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (KindStar)) (trace "X" (__U03c3_)) (trace "X" (__U03c4_))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((RAppT (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" (__U03ba_)) (trace "X" (__U03c3_)) (trace "X" (__U03c4_)) (trace "X" (([])))))))))));
+ (:) h1 lev0 -> (trace "X" ((trace "X" (Prelude.error (trace "X" (((:) (trace "X" ('R')) (trace "X" (((:) (trace "X" ('A')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('T')) (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" ([]))))))))))))))))))))))))))))))))))))))))))))))))))))))}));
+ RAbsT __U0393_0 __U0394_0 __U03a3_ __U03ba_ __U03c3_ lev n ->
+ (trace "X" (case (trace "X" (lev)) of {
+ ([]) -> (trace "X" (Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" ((trace "X" ((list_ins (trace "X" (n)) (trace "X" (__U03ba_)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((weakCE_ (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (n)) (trace "X" (__U0394_0))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((weakLT_ (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (n)) (trace "X" (KindStar))))))) (trace "X" (__U03a3_))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (haskTApp (trace "X" ((trace "X" ((list_ins (trace "X" (n)) (trace "X" (__U03ba_)) (trace "X" (__U0393_0))))))) (trace "X" (__U03ba_)) (trace "X" ((\_ -> (trace "X" ((trace "X" (weakF_ (trace "X" (__U0393_0)) (trace "X" (n)) (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" (n)))))))))))))))))))))) (trace "X" (([])))))))))))) (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" ((\_ -> (trace "X" ((trace "X" (haskTAll (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (__U03c3_))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((SFlat (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" ((trace "X" ((list_ins (trace "X" (n)) (trace "X" (__U03ba_)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((weakCE_ (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (n)) (trace "X" (__U0394_0))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((weakLT_ (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (n)) (trace "X" (KindStar))))))) (trace "X" (__U03a3_))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (haskTApp (trace "X" ((trace "X" ((list_ins (trace "X" (n)) (trace "X" (__U03ba_)) (trace "X" (__U0393_0))))))) (trace "X" (__U03ba_)) (trace "X" ((\_ -> (trace "X" ((trace "X" (weakF_ (trace "X" (__U0393_0)) (trace "X" (n)) (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" (n)))))))))))))))))))))) (trace "X" (([])))))))))))) (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" ((\_ -> (trace "X" ((trace "X" (haskTAll (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (__U03c3_))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((RAbsT (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" (__U03ba_)) (trace "X" (__U03c3_)) (trace "X" (([]))) (trace "X" (n))))))))));
+ (:) h1 lev0 -> (trace "X" ((trace "X" (Prelude.error (trace "X" (((:) (trace "X" ('R')) (trace "X" (((:) (trace "X" ('A')) (trace "X" (((:) (trace "X" ('b')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('T')) (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" ([]))))))))))))))))))))))))))))))))))))))))))))))))))))))}));
+ RAppCo __U0393_0 __U0394_0 __U03a3_ __U03ba_ __U03c3___U2081_ __U03c3___U2082_ __U03c3_ lev ->
+ (trace "X" (case (trace "X" (lev)) 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" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (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" (([])))))))))))) (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" (__U03c3_)))))))) (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" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (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" (([])))))))))))) (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" (__U03c3_)))))))) (trace "X" (([])))))))))))) (trace "X" ((RAppCo (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" (__U03ba_)) (trace "X" (__U03c3___U2081_)) (trace "X" (__U03c3___U2082_)) (trace "X" (__U03c3_)) (trace "X" (([])))))))))));
+ (:) h1 lev0 -> (trace "X" ((trace "X" (Prelude.error (trace "X" (((:) (trace "X" ('R')) (trace "X" (((:) (trace "X" ('A')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('C')) (trace "X" (((:) (trace "X" ('o')) (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" ([])))))))))))))))))))))))))))))))))))))))))))))))))))))))))}));
+ RAbsCo __U0393_0 __U0394_0 __U03a3_ __U03ba_ __U03c3_ __U03c3___U2081_ __U03c3___U2082_ lev ->
+ (trace "X" (case (trace "X" (lev)) of {
+ ([]) -> (trace "X" (Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (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" (__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_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (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" (([])))))))))))) (trace "X" ((SFlat (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (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" (__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_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (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" (([])))))))))))) (trace "X" ((RAbsCo (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (__U03a3_)) (trace "X" (__U03ba_)) (trace "X" (__U03c3_)) (trace "X" (__U03c3___U2081_)) (trace "X" (__U03c3___U2082_)) (trace "X" (([])))))))))));
+ (:) h1 lev0 -> (trace "X" ((trace "X" (Prelude.error (trace "X" (((:) (trace "X" ('R')) (trace "X" (((:) (trace "X" ('A')) (trace "X" (((:) (trace "X" ('b')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('C')) (trace "X" (((:) (trace "X" ('o')) (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" ([])))))))))))))))))))))))))))))))))))))))))))))))))))))))))}));
+ RLetRec __U0393_0 __U0394_0 lri x1 y t ->
+ (trace "X" (case (trace "X" (t)) 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" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" (y))))))) (trace "X" (lri))))) (trace "X" ((T_Branch (trace "X" (y)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (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" (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" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" (y))))))) (trace "X" (lri))))) (trace "X" ((T_Branch (trace "X" (y)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (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" (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" (([])))))))))));
+ (:) h1 t0 ->
+ (trace "X" (let {s = (trace "X" ((trace "X" (decide_tree_empty (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))) (trace "X" ((trace "X" ((mapOptionTreeAndFlatten (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0))))))) (trace "X" (y))))))))))))))))} in
+ (trace "X" (case (trace "X" (s)) of {
+ Prelude.Left s0 ->
+ (trace "X" (let {s1 = (trace "X" ((trace "X" (eqd_dec (trace "X" ((trace "X" ((eqDecidableTree (trace "X" ((trace "X" ((eqDecidableOption (trace "X" ((trace "X" ((haskTypeEqDecidable (trace "X" (__U0393_0)) (trace "X" (KindStar))))))))))))))))) (trace "X" (y)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x2))))))))) (trace "X" (y)))))))))))} in
+ (trace "X" (case (trace "X" (s1)) of {
+ Prelude.True -> (trace "X" ((trace "X" (eq_rect (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" ((T_Branch (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" (t0)))))))))) (trace "X" (y))))))) (trace "X" (lri))))) (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" (t0)))))))))) (trace "X" ((trace "X" ((mapOptionTreeAndFlatten (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0))))))) (trace "X" (y)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1)))))))))))))))))) (trace "X" ((T_Branch (trace "X" (y)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1)))))))))))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))))))) (trace "X" ((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" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))) (trace "X" (y))))))) (trace "X" (lri))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1))))))))))))))) (trace "X" ((T_Branch (trace "X" (y)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1)))))))))))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))))))) (trace "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" (h1)) (trace "X" (t0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1))))))))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))))))) (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" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))) (trace "X" (y))))))) (trace "X" (lri))))) (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" (t0)))))))))) (trace "X" ((trace "X" ((mapOptionTreeAndFlatten (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0))))))) (trace "X" (y)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1)))))))))))))))))) (trace "X" ((T_Branch (trace "X" (y)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1)))))))))))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))))))) (trace "X" ((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" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))) (trace "X" (y))))))) (trace "X" (lri))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1))))))))))))))) (trace "X" ((T_Branch (trace "X" (y)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1)))))))))))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))))))) (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" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))) (trace "X" (y))))))) (trace "X" (lri))))) (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" (t0)))))))))) (trace "X" ((trace "X" ((mapOptionTreeAndFlatten (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0))))))) (trace "X" (y)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1)))))))))))))))))) (trace "X" ((T_Branch (trace "X" (y)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1)))))))))))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))))))) (trace "X" ((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" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))) (trace "X" (y))))))) (trace "X" (lri))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1))))))))))))))) (trace "X" ((T_Branch (trace "X" (y)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1)))))))))))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))))))) (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" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))) (trace "X" (y))))))) (trace "X" (lri))))) (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" (t0)))))))))) (trace "X" ((trace "X" ((mapOptionTreeAndFlatten (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0))))))) (trace "X" (y)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1)))))))))))))))))) (trace "X" ((T_Branch (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" (t0)))))))))) (trace "X" (y))))))) (trace "X" (lri))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1))))))))))))))) (trace "X" ((T_Branch (trace "X" (y)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1)))))))))))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0))))) (trace "X" ((ALeft (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" (t0)))))))))) (trace "X" ((trace "X" ((mapOptionTreeAndFlatten (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0))))))) (trace "X" (y)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1)))))))))))) (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" (t0)))))))))) (trace "X" (y))))))) (trace "X" (lri))))) (trace "X" ((AComp (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" (t0)))))))))) (trace "X" ((trace "X" ((mapOptionTreeAndFlatten (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0))))))) (trace "X" (y)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1))))))))))))))) (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1)))))))))))) (trace "X" ((ARight (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))) (trace "X" ((trace "X" ((mapOptionTreeAndFlatten (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0))))))) (trace "X" (y)))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1)))))))))))) (trace "X" ((case (trace "X" (s0)) of {
+ ExistT x2 _ -> (trace "X" ((trace "X" (arrangeCancelEmptyTree (trace "X" (x2)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))) (trace "X" ((trace "X" ((mapOptionTreeAndFlatten (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0))))))) (trace "X" (y))))))))))))))))})))))) (trace "X" ((ACanL (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1)))))))))))))))))))))))))))))) (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" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))) (trace "X" (y))))))) (trace "X" (lri))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1))))))))))))))) (trace "X" ((T_Branch (trace "X" (y)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1)))))))))))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))))))) (trace "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" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))) (trace "X" (y))))))) (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" (h1)) (trace "X" (t0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1)))))))))))))))))) (trace "X" ((T_Branch (trace "X" (y)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1)))))))))))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))))))) (trace "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" (h1)) (trace "X" (t0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1))))))))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))))))) (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" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))) (trace "X" (y))))))) (trace "X" (lri))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1))))))))))))))) (trace "X" ((T_Branch (trace "X" (y)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1)))))))))))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))))))) (trace "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" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))) (trace "X" (y))))))) (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" (h1)) (trace "X" (t0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1)))))))))))))))))) (trace "X" ((T_Branch (trace "X" (y)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1)))))))))))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))))))) (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" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))) (trace "X" (y))))))) (trace "X" (lri))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1))))))))))))))) (trace "X" ((T_Branch (trace "X" (y)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1)))))))))))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))))))) (trace "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" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))) (trace "X" (y))))))) (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" (h1)) (trace "X" (t0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1)))))))))))))))))) (trace "X" ((T_Branch (trace "X" (y)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1)))))))))))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))))))) (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" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))) (trace "X" (y))))))) (trace "X" (lri))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1))))))))))))))) (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" (t0)))))))))) (trace "X" (y))))))) (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" (h1)) (trace "X" (t0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1)))))))))))))))))) (trace "X" ((T_Branch (trace "X" (y)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1)))))))))))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0))))) (trace "X" ((AuAssoc (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))) (trace "X" (y))))))) (trace "X" (lri)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1)))))))))))))))))))))))) (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" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))) (trace "X" (y))))))) (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" (h1)) (trace "X" (t0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1)))))))))))))))))) (trace "X" ((T_Branch (trace "X" (y)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1)))))))))))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))))))) (trace "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" (h1)) (trace "X" (t0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1))))))))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))))))) (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" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))) (trace "X" (y))))))) (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" (h1)) (trace "X" (t0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1)))))))))))))))))) (trace "X" ((T_Branch (trace "X" (y)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1)))))))))))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))))))) (trace "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" (h1)) (trace "X" (t0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1))))))))))))))) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))))))) (trace "X" ((RLetRec (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" (h1)) (trace "X" (t0)))))))))) (trace "X" ((trace "X" ((take_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1))))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x1))))))))) (trace "X" (y)) (trace "X" (((:) (trace "X" (h1)) (trace "X" (t0)))))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (drop_arg_types_as_tree (trace "X" (__U0393_0)) (trace "X" (x2))))))))) (trace "X" (y)))))))))));
+ Prelude.False -> (trace "X" ((trace "X" (Prelude.error (trace "X" (((:) (trace "X" ('u')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('d')) (trace "X" (((:) (trace "X" (' ')) (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" ('o')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('f')) (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" ('i')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" ('g')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" ('v')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('v')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" ('g')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('a')) (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" ('t')) (trace "X" (((:) (trace "X" ('y')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('e')) (trace "X" ([]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))}))));
+ Prelude.Right u -> (trace "X" ((trace "X" (Prelude.error (trace "X" (((:) (trace "X" ('u')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('d')) (trace "X" (((:) (trace "X" (' ')) (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" ('o')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('f')) (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" ('i')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" ('g')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" ('v')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('v')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" ('g')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('a')) (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" ('t')) (trace "X" (((:) (trace "X" ('y')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('e')) (trace "X" ([]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))}))))}));
+ RCase __U0393_0 __U0394_0 lev tc __U03a3_ avars tbranches alts ->
+ (trace "X" (case (trace "X" (lev)) of {
+ ([]) -> (trace "X" (Nd_rule (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" (skolemize_judgment)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 -> (trace "X" ((trace "X" (pcb_judg (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (([]))) (trace "X" (tbranches)) (trace "X" (avars)) (trace "X" ((trace "X" ((fst (trace "X" (x1))))))) (trace "X" ((trace "X" ((snd (trace "X" (x1)))))))))))))) (trace "X" (alts)))))))))))) (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" ((\_ -> (trace "X" ((trace "X" (caseType (trace "X" (__U0393_0)) (trace "X" (tc)) (trace "X" (avars))))))))))))))) (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" ((mapOptionTreeAndFlatten (trace "X" ((\x1 -> (trace "X" ((trace "X" (snd (trace "X" (x1))))))))) (trace "X" (alts))))))) (trace "X" (__U03a3_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" (tbranches)))))))) (trace "X" (([])))))))))))) (trace "X" ((SFlat (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" (skolemize_judgment)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 -> (trace "X" ((trace "X" (pcb_judg (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (([]))) (trace "X" (tbranches)) (trace "X" (avars)) (trace "X" ((trace "X" ((fst (trace "X" (x1))))))) (trace "X" ((trace "X" ((snd (trace "X" (x1)))))))))))))) (trace "X" (alts)))))))))))) (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" ((\_ -> (trace "X" ((trace "X" (caseType (trace "X" (__U0393_0)) (trace "X" (tc)) (trace "X" (avars))))))))))))))) (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" ((mapOptionTreeAndFlatten (trace "X" ((\x1 -> (trace "X" ((trace "X" (snd (trace "X" (x1))))))))) (trace "X" (alts))))))) (trace "X" (__U03a3_))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" (tbranches)))))))) (trace "X" (([])))))))))))) (trace "X" ((trace "X" ((eq_rect (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 -> (trace "X" ((trace "X" (skolemize_judgment (trace "X" ((trace "X" ((pcb_judg (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (([]))) (trace "X" (tbranches)) (trace "X" (avars)) (trace "X" ((trace "X" ((fst (trace "X" (x1))))))) (trace "X" ((trace "X" ((snd (trace "X" (x1))))))))))))))))))) (trace "X" (alts))))))) (trace "X" ((trace "X" ((eq_rect_r (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 -> (trace "X" ((trace "X" (pcb_judg (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (([]))) (trace "X" (tbranches)) (trace "X" (avars)) (trace "X" ((trace "X" ((fst (trace "X" (x1))))))) (trace "X" ((trace "X" ((snd (trace "X" (x1)))))))))))))) (trace "X" (alts))))))) (trace "X" ((RCase (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (([]))) (trace "X" (tc)) (trace "X" (__U03a3_)) (trace "X" (avars)) (trace "X" (tbranches)) (trace "X" (alts))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 -> (trace "X" ((trace "X" (skolemize_judgment (trace "X" ((trace "X" ((pcb_judg (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (([]))) (trace "X" (tbranches)) (trace "X" (avars)) (trace "X" ((trace "X" ((fst (trace "X" (x1))))))) (trace "X" ((trace "X" ((snd (trace "X" (x1))))))))))))))))))) (trace "X" (alts)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (skolemize_judgment)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 -> (trace "X" ((trace "X" (pcb_judg (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (([]))) (trace "X" (tbranches)) (trace "X" (avars)) (trace "X" ((trace "X" ((fst (trace "X" (x1))))))) (trace "X" ((trace "X" ((snd (trace "X" (x1)))))))))))))) (trace "X" (alts))))))))))))))))))))));
+ (:) h1 lev0 -> (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" ('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" (h)) (trace "X" (c)) (trace "X" (x))))))
+
+v2t :: TypeEnv -> HaskTyVar -> (InstantiatedTypeEnv a1) -> RawHaskType a1
+v2t __U0393_0 ec ite =
+ (trace "X" (TVar (trace "X" (eCKind)) (trace "X" ((trace "X" ((unsafeCoerce (trace "X" (ec)) (trace "X" (__)) (trace "X" (ite)))))))))
+
+levelMatch :: TypeEnv -> HaskLevel -> LeveledHaskType -> Prelude.Bool
+levelMatch __U0393_0 lev t =
+ (trace "X" (case (trace "X" (t)) of {
+ MkLeveledHaskType ttype tlev ->
+ (trace "X" (case (trace "X" ((trace "X" (eqd_dec (trace "X" ((trace "X" ((haskLevelEqDecidable (trace "X" (__U0393_0))))))) (trace "X" (tlev)) (trace "X" (lev)))))) of {
+ Prelude.True -> (trace "X" (Prelude.True));
+ Prelude.False -> (trace "X" (Prelude.False))}))}))
+
+mkDropFlags :: TypeEnv -> HaskLevel -> (Tree (Prelude.Maybe LeveledHaskType)) -> TreeFlags (Prelude.Maybe LeveledHaskType)
+mkDropFlags __U0393_0 lev tt =
+ (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" (lev)))))))))))) (trace "X" (tt))))))
+
+drop_lev :: TypeEnv -> HaskLevel -> (Tree (Prelude.Maybe LeveledHaskType)) -> Tree (Prelude.Maybe LeveledHaskType)
+drop_lev __U0393_0 lev tt =
+ (trace "X" ((trace "X" (dropT (trace "X" (tt)) (trace "X" ((trace "X" ((mkDropFlags (trace "X" (__U0393_0)) (trace "X" (lev)) (trace "X" (tt)))))))))))
+
+mkTakeFlags :: TypeEnv -> HaskLevel -> (Tree (Prelude.Maybe LeveledHaskType)) -> TreeFlags (Prelude.Maybe LeveledHaskType)
+mkTakeFlags __U0393_0 lev tt =
+ (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" (lev)) (trace "X" (x))))))))))))))))))) (trace "X" (tt))))))
+
+take_lev :: TypeEnv -> HaskLevel -> (Tree (Prelude.Maybe LeveledHaskType)) -> Tree (Prelude.Maybe LeveledHaskType)
+take_lev __U0393_0 lev tt =
+ (trace "X" ((trace "X" (dropT (trace "X" (tt)) (trace "X" ((trace "X" ((mkTakeFlags (trace "X" (__U0393_0)) (trace "X" (lev)) (trace "X" (tt)))))))))))
+
+ga_mk_tree' :: (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (RawHaskType a1) -> (Tree (Prelude.Maybe (RawHaskType a1))) -> RawHaskType a1
+ga_mk_tree' unitTy prodTy ec tr =
+ (trace "X" ((trace "X" (reduceTree (trace "X" ((trace "X" ((unsafeCoerce (trace "X" (unitTy)) (trace "X" (__)) (trace "X" (ec))))))) (trace "X" ((trace "X" ((unsafeCoerce (trace "X" (prodTy)) (trace "X" (__)) (trace "X" (ec))))))) (trace "X" (tr))))))
+
+ga_mk_tree :: (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> TypeEnv -> HaskType -> (Tree (Prelude.Maybe HaskType)) -> (InstantiatedTypeEnv a1) -> RawHaskType a1
+ga_mk_tree unitTy prodTy __U0393_0 ec tr ite =
+ (trace "X" ((trace "X" (ga_mk_tree' (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" ((trace "X" ((unsafeCoerce (trace "X" (ec)) (trace "X" (__)) (trace "X" (ite))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x -> (trace "X" ((trace "X" (unsafeCoerce (trace "X" (x)) (trace "X" (__)) (trace "X" (ite))))))))) (trace "X" (tr)))))))))))
+
+ga_mk_raw :: (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (RawHaskType a1) -> (Tree (Prelude.Maybe (RawHaskType a1))) -> (Tree (Prelude.Maybe (RawHaskType a1))) -> RawHaskType a1
+ga_mk_raw unitTy prodTy gaTy ec ant suc =
+ (trace "X" ((trace "X" (unsafeCoerce (trace "X" (gaTy)) (trace "X" (__)) (trace "X" (ec)) (trace "X" ((trace "X" ((ga_mk_tree' (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (ec)) (trace "X" (ant))))))) (trace "X" ((trace "X" ((ga_mk_tree' (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (ec)) (trace "X" (suc)))))))))))
+
+ga_mk :: (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> TypeEnv -> HaskType -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> (InstantiatedTypeEnv a1) -> RawHaskType a1
+ga_mk unitTy prodTy gaTy __U0393_0 ec ant suc ite =
+ (trace "X" ((trace "X" (unsafeCoerce (trace "X" (gaTy)) (trace "X" (__)) (trace "X" ((trace "X" ((unsafeCoerce (trace "X" (ec)) (trace "X" (__)) (trace "X" (ite))))))) (trace "X" ((trace "X" ((ga_mk_tree (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (ant)) (trace "X" (ite))))))) (trace "X" ((trace "X" ((ga_mk_tree (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (__U0393_0)) (trace "X" (ec)) (trace "X" (suc)) (trace "X" (ite)))))))))))
+
+flatten_rawtype :: (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> Kind -> (RawHaskType a1) -> RawHaskType a1
+flatten_rawtype unitTy prodTy gaTy __U03ba_ exp =
+ (trace "X" ((trace "X" (let {
+ flatten_rawtype0 __U03ba_0 exp0 =
+ (trace "X" (case (trace "X" (exp0)) of {
+ TCoerc __U03ba_1 t1 t2 t -> (trace "X" (TCoerc (trace "X" (__U03ba_1)) (trace "X" ((trace "X" ((flatten_rawtype0 (trace "X" (__U03ba_1)) (trace "X" (t1))))))) (trace "X" ((trace "X" ((flatten_rawtype0 (trace "X" (__U03ba_1)) (trace "X" (t2))))))) (trace "X" ((trace "X" ((flatten_rawtype0 (trace "X" (KindStar)) (trace "X" (t)))))))));
+ TApp __U03ba___U2081_ __U03ba___U2082_ x y -> (trace "X" (TApp (trace "X" (__U03ba___U2081_)) (trace "X" (__U03ba___U2082_)) (trace "X" ((trace "X" ((flatten_rawtype0 (trace "X" ((KindArrow (trace "X" (__U03ba___U2082_)) (trace "X" (__U03ba___U2081_))))) (trace "X" (x))))))) (trace "X" ((trace "X" ((flatten_rawtype0 (trace "X" (__U03ba___U2082_)) (trace "X" (y)))))))));
+ TAll __U03ba_1 y -> (trace "X" (TAll (trace "X" (__U03ba_1)) (trace "X" ((\v -> (trace "X" ((trace "X" (flatten_rawtype0 (trace "X" (KindStar)) (trace "X" ((trace "X" ((y (trace "X" (v))))))))))))))));
+ TCode ec e -> (trace "X" (let {e' = (trace "X" ((trace "X" (flatten_rawtype0 (trace "X" (KindStar)) (trace "X" (e))))))} in (trace "X" ((trace "X" (ga_mk_raw (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (ec)) (trace "X" ((trace "X" ((unleaves_ (trace "X" ((trace "X" ((take_arg_types (trace "X" (KindStar)) (trace "X" (e')))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((trace "X" ((drop_arg_types (trace "X" (KindStar)) (trace "X" (e')))))))))))))))))));
+ TyFunApp tfc kl k lt -> (trace "X" (TyFunApp (trace "X" (tfc)) (trace "X" (kl)) (trace "X" (k)) (trace "X" ((trace "X" ((flatten_rawtype_list (trace "X" (__)) (trace "X" (kl)) (trace "X" (lt)))))))));
+ x -> (trace "X" (x))}));
+ flatten_rawtype_list _ lk exp0 =
+ (trace "X" (case (trace "X" (exp0)) of {
+ TyFunApp_nil -> (trace "X" (TyFunApp_nil));
+ TyFunApp_cons __U03ba_0 kl t rest -> (trace "X" (TyFunApp_cons (trace "X" (__U03ba_0)) (trace "X" (kl)) (trace "X" ((trace "X" ((flatten_rawtype0 (trace "X" (__U03ba_0)) (trace "X" (t))))))) (trace "X" ((trace "X" ((flatten_rawtype_list (trace "X" (__)) (trace "X" (kl)) (trace "X" (rest)))))))))}))}
+ in flatten_rawtype0 (trace "X" (__U03ba_)) (trace "X" (exp))))))
+
+flatten_type :: (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> TypeEnv -> Kind -> HaskType -> (InstantiatedTypeEnv a1) -> RawHaskType a1
+flatten_type unitTy prodTy gaTy __U0393_0 __U03ba_ ht ite =
+ (trace "X" ((trace "X" (flatten_rawtype (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U03ba_)) (trace "X" ((trace "X" ((unsafeCoerce (trace "X" (ht)) (trace "X" (__)) (trace "X" (ite)))))))))))
+
+levels_to_tcode :: (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> TypeEnv -> HaskType -> HaskLevel -> (InstantiatedTypeEnv a1) -> RawHaskType a1
+levels_to_tcode unitTy prodTy gaTy __U0393_0 ht lev x =
+ (trace "X" (case (trace "X" (lev)) of {
+ ([]) -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (ht)) (trace "X" (x))))));
+ (:) ec lev' -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((unsafeCoerce (trace "X" ((\__U0393_1 ht0 lev0 _ x0 -> (trace "X" ((trace "X" (levels_to_tcode (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_1)) (trace "X" (ht0)) (trace "X" (lev0)) (trace "X" (x0))))))))) (trace "X" (__U0393_0)) (trace "X" (ht)) (trace "X" (lev'))))))))))))) (trace "X" (x))))))}))
+
+flatten_leveled_type :: (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> TypeEnv -> LeveledHaskType -> LeveledHaskType
+flatten_leveled_type unitTy prodTy gaTy __U0393_0 ht =
+ (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))
+
+flatten_judgment :: (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> Judg -> Judg
+flatten_judgment unitTy prodTy gaTy j =
+ (trace "X" (case (trace "X" (j)) of {
+ MkJudg __U0393_0 __U0394_0 ant suc h ->
+ (trace "X" (case (trace "X" (h)) of {
+ ([]) -> (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" (ant))))))) (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" (x))))))))) (trace "X" (suc))))))) (trace "X" (([])))));
+ (:) ec lev' -> (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" (lev'))))) (trace "X" (ant)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" (ant)))))))))))) (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" (x))))))))) (trace "X" (suc)))))))))))))))))))) (trace "X" (([])))))}))}))
+
+data Garrow =
+ Build_garrow (TypeEnv -> CoercionEnv -> HaskType -> HaskLevel -> (Tree (Prelude.Maybe HaskType)) -> ND Judg Rule) (TypeEnv -> CoercionEnv -> HaskType -> HaskLevel -> (Tree (Prelude.Maybe HaskType)) -> ND Judg Rule) (TypeEnv -> CoercionEnv -> HaskType -> HaskLevel -> (Tree (Prelude.Maybe HaskType)) -> ND Judg Rule) (TypeEnv -> CoercionEnv -> HaskType -> HaskLevel -> (Tree (Prelude.Maybe HaskType)) -> ND Judg Rule) (TypeEnv -> CoercionEnv -> HaskType -> HaskLevel -> (Tree (Prelude.Maybe HaskType)) -> ND Judg Rule) (TypeEnv -> CoercionEnv -> HaskType -> HaskLevel -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> ND Judg Rule) (TypeEnv -> CoercionEnv -> HaskType -> HaskLevel -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> ND Judg Rule) (TypeEnv -> CoercionEnv -> HaskType -> HaskLevel -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> ND Judg Rule) (TypeEnv -> CoercionEnv -> HaskType -> HaskLevel -> (Tree (Prelude.Maybe HaskType)) -> ND Judg Rule) (TypeEnv -> CoercionEnv -> HaskType -> HaskLevel -> (Tree (Prelude.Maybe HaskType)) -> ND Judg Rule) (TypeEnv -> CoercionEnv -> HaskType -> HaskLevel -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> ND Judg Rule) (TypeEnv -> CoercionEnv -> HaskType -> HaskLevel -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> ND Judg Rule) (TypeEnv -> CoercionEnv -> HaskType -> HaskLevel -> Literal.Literal -> ND Judg Rule) (TypeEnv -> CoercionEnv -> HaskType -> HaskLevel -> (Tree (Prelude.Maybe HaskType)) -> HaskType -> HaskType -> ND Judg Rule) (TypeEnv -> CoercionEnv -> HaskType -> HaskLevel -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> ND Judg Rule) (TypeEnv -> CoercionEnv -> HaskType -> HaskLevel -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> ND Judg Rule) (TypeEnv -> CoercionEnv -> HaskType -> HaskLevel -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> ND Judg Rule) (TypeEnv -> CoercionEnv -> HaskType -> HaskLevel -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> (() -> (InstantiatedTypeEnv ()) -> RawHaskType ()) -> (() -> (InstantiatedTypeEnv ()) -> RawHaskType ()) -> ND Judg Rule) (TypeEnv -> CoercionEnv -> HaskType -> HaskLevel -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe LeveledHaskType)) -> ND Judg Rule)
+
+ga_id :: (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> Garrow -> TypeEnv -> CoercionEnv -> HaskType -> HaskLevel -> (Tree (Prelude.Maybe HaskType)) -> ND Judg Rule
+ga_id unitTy prodTy gaTy garrow =
+ (trace "X" (case (trace "X" (garrow)) of {
+ Build_garrow ga_id0 ga_cancelr0 ga_cancell0 ga_uncancelr0 ga_uncancell0 ga_assoc0 ga_unassoc0 ga_swap0 ga_drop0 ga_copy0 ga_first0 ga_second0 ga_lit0 ga_curry0 ga_loopl0 ga_loopr ga_comp0 ga_apply ga_kappa0 -> (trace "X" (ga_id0))}))
+
+ga_cancelr :: (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> Garrow -> TypeEnv -> CoercionEnv -> HaskType -> HaskLevel -> (Tree (Prelude.Maybe HaskType)) -> ND Judg Rule
+ga_cancelr unitTy prodTy gaTy garrow =
+ (trace "X" (case (trace "X" (garrow)) of {
+ Build_garrow ga_id0 ga_cancelr0 ga_cancell0 ga_uncancelr0 ga_uncancell0 ga_assoc0 ga_unassoc0 ga_swap0 ga_drop0 ga_copy0 ga_first0 ga_second0 ga_lit0 ga_curry0 ga_loopl0 ga_loopr ga_comp0 ga_apply ga_kappa0 -> (trace "X" (ga_cancelr0))}))
+
+ga_cancell :: (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> Garrow -> TypeEnv -> CoercionEnv -> HaskType -> HaskLevel -> (Tree (Prelude.Maybe HaskType)) -> ND Judg Rule
+ga_cancell unitTy prodTy gaTy garrow =
+ (trace "X" (case (trace "X" (garrow)) of {
+ Build_garrow ga_id0 ga_cancelr0 ga_cancell0 ga_uncancelr0 ga_uncancell0 ga_assoc0 ga_unassoc0 ga_swap0 ga_drop0 ga_copy0 ga_first0 ga_second0 ga_lit0 ga_curry0 ga_loopl0 ga_loopr ga_comp0 ga_apply ga_kappa0 -> (trace "X" (ga_cancell0))}))
+
+ga_uncancelr :: (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> Garrow -> TypeEnv -> CoercionEnv -> HaskType -> HaskLevel -> (Tree (Prelude.Maybe HaskType)) -> ND Judg Rule
+ga_uncancelr unitTy prodTy gaTy garrow =
+ (trace "X" (case (trace "X" (garrow)) of {
+ Build_garrow ga_id0 ga_cancelr0 ga_cancell0 ga_uncancelr0 ga_uncancell0 ga_assoc0 ga_unassoc0 ga_swap0 ga_drop0 ga_copy0 ga_first0 ga_second0 ga_lit0 ga_curry0 ga_loopl0 ga_loopr ga_comp0 ga_apply ga_kappa0 -> (trace "X" (ga_uncancelr0))}))
+
+ga_uncancell :: (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> Garrow -> TypeEnv -> CoercionEnv -> HaskType -> HaskLevel -> (Tree (Prelude.Maybe HaskType)) -> ND Judg Rule
+ga_uncancell unitTy prodTy gaTy garrow =
+ (trace "X" (case (trace "X" (garrow)) of {
+ Build_garrow ga_id0 ga_cancelr0 ga_cancell0 ga_uncancelr0 ga_uncancell0 ga_assoc0 ga_unassoc0 ga_swap0 ga_drop0 ga_copy0 ga_first0 ga_second0 ga_lit0 ga_curry0 ga_loopl0 ga_loopr ga_comp0 ga_apply ga_kappa0 -> (trace "X" (ga_uncancell0))}))
+
+ga_assoc :: (() -> (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
+ga_assoc unitTy prodTy gaTy garrow =
+ (trace "X" (case (trace "X" (garrow)) of {
+ Build_garrow ga_id0 ga_cancelr0 ga_cancell0 ga_uncancelr0 ga_uncancell0 ga_assoc0 ga_unassoc0 ga_swap0 ga_drop0 ga_copy0 ga_first0 ga_second0 ga_lit0 ga_curry0 ga_loopl0 ga_loopr ga_comp0 ga_apply ga_kappa0 -> (trace "X" (ga_assoc0))}))
+
+ga_unassoc :: (() -> (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
+ga_unassoc unitTy prodTy gaTy garrow =
+ (trace "X" (case (trace "X" (garrow)) of {
+ Build_garrow ga_id0 ga_cancelr0 ga_cancell0 ga_uncancelr0 ga_uncancell0 ga_assoc0 ga_unassoc0 ga_swap0 ga_drop0 ga_copy0 ga_first0 ga_second0 ga_lit0 ga_curry0 ga_loopl0 ga_loopr ga_comp0 ga_apply ga_kappa0 -> (trace "X" (ga_unassoc0))}))
+
+ga_swap :: (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> Garrow -> TypeEnv -> CoercionEnv -> HaskType -> HaskLevel -> (Tree (Prelude.Maybe HaskType)) -> (Tree (Prelude.Maybe HaskType)) -> ND Judg Rule
+ga_swap unitTy prodTy gaTy garrow =
+ (trace "X" (case (trace "X" (garrow)) of {
+ Build_garrow ga_id0 ga_cancelr0 ga_cancell0 ga_uncancelr0 ga_uncancell0 ga_assoc0 ga_unassoc0 ga_swap0 ga_drop0 ga_copy0 ga_first0 ga_second0 ga_lit0 ga_curry0 ga_loopl0 ga_loopr ga_comp0 ga_apply ga_kappa0 -> (trace "X" (ga_swap0))}))
+
+ga_drop :: (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> Garrow -> TypeEnv -> CoercionEnv -> HaskType -> HaskLevel -> (Tree (Prelude.Maybe HaskType)) -> ND Judg Rule
+ga_drop unitTy prodTy gaTy garrow =
+ (trace "X" (case (trace "X" (garrow)) of {
+ Build_garrow ga_id0 ga_cancelr0 ga_cancell0 ga_uncancelr0 ga_uncancell0 ga_assoc0 ga_unassoc0 ga_swap0 ga_drop0 ga_copy0 ga_first0 ga_second0 ga_lit0 ga_curry0 ga_loopl0 ga_loopr ga_comp0 ga_apply ga_kappa0 -> (trace "X" (ga_drop0))}))
+
+ga_copy :: (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> Garrow -> TypeEnv -> CoercionEnv -> HaskType -> HaskLevel -> (Tree (Prelude.Maybe HaskType)) -> ND Judg Rule
+ga_copy unitTy prodTy gaTy garrow =
+ (trace "X" (case (trace "X" (garrow)) of {
+ Build_garrow ga_id0 ga_cancelr0 ga_cancell0 ga_uncancelr0 ga_uncancell0 ga_assoc0 ga_unassoc0 ga_swap0 ga_drop0 ga_copy0 ga_first0 ga_second0 ga_lit0 ga_curry0 ga_loopl0 ga_loopr ga_comp0 ga_apply ga_kappa0 -> (trace "X" (ga_copy0))}))
+
+ga_first :: (() -> (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
+ga_first unitTy prodTy gaTy garrow =
+ (trace "X" (case (trace "X" (garrow)) of {
+ Build_garrow ga_id0 ga_cancelr0 ga_cancell0 ga_uncancelr0 ga_uncancell0 ga_assoc0 ga_unassoc0 ga_swap0 ga_drop0 ga_copy0 ga_first0 ga_second0 ga_lit0 ga_curry0 ga_loopl0 ga_loopr ga_comp0 ga_apply ga_kappa0 -> (trace "X" (ga_first0))}))
+
+ga_second :: (() -> (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
+ga_second unitTy prodTy gaTy garrow =
+ (trace "X" (case (trace "X" (garrow)) of {
+ Build_garrow ga_id0 ga_cancelr0 ga_cancell0 ga_uncancelr0 ga_uncancell0 ga_assoc0 ga_unassoc0 ga_swap0 ga_drop0 ga_copy0 ga_first0 ga_second0 ga_lit0 ga_curry0 ga_loopl0 ga_loopr ga_comp0 ga_apply ga_kappa0 -> (trace "X" (ga_second0))}))
+
+ga_lit :: (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> Garrow -> TypeEnv -> CoercionEnv -> HaskType -> HaskLevel -> Literal.Literal -> ND Judg Rule
+ga_lit unitTy prodTy gaTy garrow =
+ (trace "X" (case (trace "X" (garrow)) of {
+ Build_garrow ga_id0 ga_cancelr0 ga_cancell0 ga_uncancelr0 ga_uncancell0 ga_assoc0 ga_unassoc0 ga_swap0 ga_drop0 ga_copy0 ga_first0 ga_second0 ga_lit0 ga_curry0 ga_loopl0 ga_loopr ga_comp0 ga_apply ga_kappa0 -> (trace "X" (ga_lit0))}))
+
+ga_curry :: (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> Garrow -> TypeEnv -> CoercionEnv -> HaskType -> HaskLevel -> (Tree (Prelude.Maybe HaskType)) -> HaskType -> HaskType -> ND Judg Rule
+ga_curry unitTy prodTy gaTy garrow =
+ (trace "X" (case (trace "X" (garrow)) of {
+ Build_garrow ga_id0 ga_cancelr0 ga_cancell0 ga_uncancelr0 ga_uncancell0 ga_assoc0 ga_unassoc0 ga_swap0 ga_drop0 ga_copy0 ga_first0 ga_second0 ga_lit0 ga_curry0 ga_loopl0 ga_loopr ga_comp0 ga_apply ga_kappa0 -> (trace "X" (ga_curry0))}))
+
+ga_loopl :: (() -> (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
+ga_loopl unitTy prodTy gaTy garrow =
+ (trace "X" (case (trace "X" (garrow)) of {
+ Build_garrow ga_id0 ga_cancelr0 ga_cancell0 ga_uncancelr0 ga_uncancell0 ga_assoc0 ga_unassoc0 ga_swap0 ga_drop0 ga_copy0 ga_first0 ga_second0 ga_lit0 ga_curry0 ga_loopl0 ga_loopr ga_comp0 ga_apply ga_kappa0 -> (trace "X" (ga_loopl0))}))
+
+ga_comp :: (() -> (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
+ga_comp unitTy prodTy gaTy garrow =
+ (trace "X" (case (trace "X" (garrow)) of {
+ Build_garrow ga_id0 ga_cancelr0 ga_cancell0 ga_uncancelr0 ga_uncancell0 ga_assoc0 ga_unassoc0 ga_swap0 ga_drop0 ga_copy0 ga_first0 ga_second0 ga_lit0 ga_curry0 ga_loopl0 ga_loopr ga_comp0 ga_apply ga_kappa0 -> (trace "X" (ga_comp0))}))
+
+ga_kappa :: (() -> (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
+ga_kappa unitTy prodTy gaTy garrow =
+ (trace "X" (case (trace "X" (garrow)) of {
+ Build_garrow ga_id0 ga_cancelr0 ga_cancell0 ga_uncancelr0 ga_uncancell0 ga_assoc0 ga_unassoc0 ga_swap0 ga_drop0 ga_copy0 ga_first0 ga_second0 ga_lit0 ga_curry0 ga_loopl0 ga_loopr ga_comp0 ga_apply ga_kappa0 -> (trace "X" (ga_kappa0))}))
+
+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" (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" (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" (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" (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" (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" (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" (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" (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" (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" (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" (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" (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" (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" (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" (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" (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" (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" (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" (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" (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" (y)))))))) (trace "X" (lev)) (trace "X" ((AuCanR (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (x)) (trace "X" (lev))))))))))))))))))))))))))))) (trace "X" ((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" (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" (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" (y)))))))) (trace "X" (lev)) (trace "X" ((ACanR (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((AExch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (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" ((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)))))))))
+
+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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((ACanL (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((AuCanR (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (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" ((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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((ACanR (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" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((AuCanR (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (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" ((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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((ACanR (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" (__U03a3_)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (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" ((\_ -> (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_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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((AExch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (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" ((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" ((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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((AExch (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 =
+ (trace "X" (case (trace "X" (r)) of {
+ AId 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" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (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))))))))))))))));
+ ACanL a -> (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" ((\_ -> (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" (a))))))))))))))));
+ ACanR a -> (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" ((\_ -> (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" (a))))))))))))))));
+ AuCanL a ->
+ (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" ((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 r0 -> (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" (r0)))))))))}))}
+ in mapOptionTree0 (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" ((let {
+ dropT0 __U03a3_ tf =
+ (trace "X" (case (trace "X" (tf)) of {
+ Tf_leaf_true x -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))));
+ Tf_leaf_false x -> (trace "X" (__U03a3_));
+ Tf_branch b1 b2 tb1 tb2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((dropT0 (trace "X" (b1)) (trace "X" (tb1))))))) (trace "X" ((trace "X" ((dropT0 (trace "X" (b2)) (trace "X" (tb2)))))))))}))}
+ in dropT0 (trace "X" (a))
+ (trace "X" ((trace "X" ((let {
+ mkFlags0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf x ->
+ (trace "X" (case (trace "X" ((trace "X" (f (trace "X" (x)))))) of {
+ Prelude.True -> (trace "X" (Tf_leaf_true (trace "X" (x))));
+ 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" (a)))))))))))))))))))));
+ AuCanR a ->
+ (trace "X" ((trace "X" (ga_cancelr (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" ((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 r0 -> (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" (r0)))))))))}))}
+ in mapOptionTree0 (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" ((let {
+ dropT0 __U03a3_ tf =
+ (trace "X" (case (trace "X" (tf)) of {
+ Tf_leaf_true x -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))));
+ Tf_leaf_false x -> (trace "X" (__U03a3_));
+ Tf_branch b1 b2 tb1 tb2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((dropT0 (trace "X" (b1)) (trace "X" (tb1))))))) (trace "X" ((trace "X" ((dropT0 (trace "X" (b2)) (trace "X" (tb2)))))))))}))}
+ in dropT0 (trace "X" (a))
+ (trace "X" ((trace "X" ((let {
+ mkFlags0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf x ->
+ (trace "X" (case (trace "X" ((trace "X" (f (trace "X" (x)))))) of {
+ Prelude.True -> (trace "X" (Tf_leaf_true (trace "X" (x))));
+ 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" (a)))))))))))))))))))));
+ AAssoc a b c ->
+ (trace "X" ((trace "X" (ga_assoc (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" ((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 r0 -> (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" (r0)))))))))}))}
+ in mapOptionTree0 (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" ((let {
+ dropT0 __U03a3_ tf =
+ (trace "X" (case (trace "X" (tf)) of {
+ Tf_leaf_true x -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))));
+ Tf_leaf_false x -> (trace "X" (__U03a3_));
+ Tf_branch b1 b2 tb1 tb2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((dropT0 (trace "X" (b1)) (trace "X" (tb1))))))) (trace "X" ((trace "X" ((dropT0 (trace "X" (b2)) (trace "X" (tb2)))))))))}))}
+ in dropT0 (trace "X" (a))
+ (trace "X" ((trace "X" ((let {
+ mkFlags0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf x ->
+ (trace "X" (case (trace "X" ((trace "X" (f (trace "X" (x)))))) of {
+ Prelude.True -> (trace "X" (Tf_leaf_true (trace "X" (x))));
+ 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" (a)))))))))))))))))
+ (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 r0 -> (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" (r0)))))))))}))}
+ in mapOptionTree0 (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" ((let {
+ dropT0 __U03a3_ tf =
+ (trace "X" (case (trace "X" (tf)) of {
+ Tf_leaf_true x -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))));
+ Tf_leaf_false x -> (trace "X" (__U03a3_));
+ Tf_branch b1 b2 tb1 tb2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((dropT0 (trace "X" (b1)) (trace "X" (tb1))))))) (trace "X" ((trace "X" ((dropT0 (trace "X" (b2)) (trace "X" (tb2)))))))))}))}
+ in dropT0 (trace "X" (b))
+ (trace "X" ((trace "X" ((let {
+ mkFlags0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf x ->
+ (trace "X" (case (trace "X" ((trace "X" (f (trace "X" (x)))))) of {
+ Prelude.True -> (trace "X" (Tf_leaf_true (trace "X" (x))));
+ 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" (b)))))))))))))))))
+ (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 r0 -> (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" (r0)))))))))}))}
+ in mapOptionTree0 (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" ((let {
+ dropT0 __U03a3_ tf =
+ (trace "X" (case (trace "X" (tf)) of {
+ Tf_leaf_true x -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))));
+ Tf_leaf_false x -> (trace "X" (__U03a3_));
+ Tf_branch b1 b2 tb1 tb2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((dropT0 (trace "X" (b1)) (trace "X" (tb1))))))) (trace "X" ((trace "X" ((dropT0 (trace "X" (b2)) (trace "X" (tb2)))))))))}))}
+ in dropT0 (trace "X" (c))
+ (trace "X" ((trace "X" ((let {
+ mkFlags0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf x ->
+ (trace "X" (case (trace "X" ((trace "X" (f (trace "X" (x)))))) of {
+ Prelude.True -> (trace "X" (Tf_leaf_true (trace "X" (x))));
+ 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)))))))))))))))))))));
+ AuAssoc a b c ->
+ (trace "X" ((trace "X" (ga_unassoc (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" ((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 r0 -> (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" (r0)))))))))}))}
+ in mapOptionTree0 (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" ((let {
+ dropT0 __U03a3_ tf =
+ (trace "X" (case (trace "X" (tf)) of {
+ Tf_leaf_true x -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))));
+ Tf_leaf_false x -> (trace "X" (__U03a3_));
+ Tf_branch b1 b2 tb1 tb2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((dropT0 (trace "X" (b1)) (trace "X" (tb1))))))) (trace "X" ((trace "X" ((dropT0 (trace "X" (b2)) (trace "X" (tb2)))))))))}))}
+ in dropT0 (trace "X" (a))
+ (trace "X" ((trace "X" ((let {
+ mkFlags0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf x ->
+ (trace "X" (case (trace "X" ((trace "X" (f (trace "X" (x)))))) of {
+ Prelude.True -> (trace "X" (Tf_leaf_true (trace "X" (x))));
+ 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" (a)))))))))))))))))
+ (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 r0 -> (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" (r0)))))))))}))}
+ in mapOptionTree0 (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" ((let {
+ dropT0 __U03a3_ tf =
+ (trace "X" (case (trace "X" (tf)) of {
+ Tf_leaf_true x -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))));
+ Tf_leaf_false x -> (trace "X" (__U03a3_));
+ Tf_branch b1 b2 tb1 tb2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((dropT0 (trace "X" (b1)) (trace "X" (tb1))))))) (trace "X" ((trace "X" ((dropT0 (trace "X" (b2)) (trace "X" (tb2)))))))))}))}
+ in dropT0 (trace "X" (b))
+ (trace "X" ((trace "X" ((let {
+ mkFlags0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf x ->
+ (trace "X" (case (trace "X" ((trace "X" (f (trace "X" (x)))))) of {
+ Prelude.True -> (trace "X" (Tf_leaf_true (trace "X" (x))));
+ 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" (b)))))))))))))))))
+ (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 r0 -> (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" (r0)))))))))}))}
+ in mapOptionTree0 (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" ((let {
+ dropT0 __U03a3_ tf =
+ (trace "X" (case (trace "X" (tf)) of {
+ Tf_leaf_true x -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))));
+ Tf_leaf_false x -> (trace "X" (__U03a3_));
+ Tf_branch b1 b2 tb1 tb2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((dropT0 (trace "X" (b1)) (trace "X" (tb1))))))) (trace "X" ((trace "X" ((dropT0 (trace "X" (b2)) (trace "X" (tb2)))))))))}))}
+ in dropT0 (trace "X" (c))
+ (trace "X" ((trace "X" ((let {
+ mkFlags0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf x ->
+ (trace "X" (case (trace "X" ((trace "X" (f (trace "X" (x)))))) of {
+ Prelude.True -> (trace "X" (Tf_leaf_true (trace "X" (x))));
+ 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)))))))))))))))))))));
+ AExch a b ->
+ (trace "X" ((trace "X" (ga_swap (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" ((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 r0 -> (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" (r0)))))))))}))}
+ in mapOptionTree0 (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" ((let {
+ dropT0 __U03a3_ tf =
+ (trace "X" (case (trace "X" (tf)) of {
+ Tf_leaf_true x -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))));
+ Tf_leaf_false x -> (trace "X" (__U03a3_));
+ Tf_branch b1 b2 tb1 tb2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((dropT0 (trace "X" (b1)) (trace "X" (tb1))))))) (trace "X" ((trace "X" ((dropT0 (trace "X" (b2)) (trace "X" (tb2)))))))))}))}
+ in dropT0 (trace "X" (a))
+ (trace "X" ((trace "X" ((let {
+ mkFlags0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf x ->
+ (trace "X" (case (trace "X" ((trace "X" (f (trace "X" (x)))))) of {
+ Prelude.True -> (trace "X" (Tf_leaf_true (trace "X" (x))));
+ 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" (a)))))))))))))))))
+ (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 r0 -> (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" (r0)))))))))}))}
+ in mapOptionTree0 (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" ((let {
+ dropT0 __U03a3_ tf =
+ (trace "X" (case (trace "X" (tf)) of {
+ Tf_leaf_true x -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))));
+ Tf_leaf_false x -> (trace "X" (__U03a3_));
+ Tf_branch b1 b2 tb1 tb2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((dropT0 (trace "X" (b1)) (trace "X" (tb1))))))) (trace "X" ((trace "X" ((dropT0 (trace "X" (b2)) (trace "X" (tb2)))))))))}))}
+ in dropT0 (trace "X" (b))
+ (trace "X" ((trace "X" ((let {
+ mkFlags0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf x ->
+ (trace "X" (case (trace "X" ((trace "X" (f (trace "X" (x)))))) of {
+ Prelude.True -> (trace "X" (Tf_leaf_true (trace "X" (x))));
+ 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" (b)))))))))))))))))))));
+ AWeak a -> (trace "X" ((trace "X" (ga_drop (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" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (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))))))))))))))));
+ ACont a -> (trace "X" ((trace "X" (ga_copy (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" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (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))))))))))))))));
+ ALeft a b c r' -> (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" (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" (a))))))))))))))))))))))))) (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" ((\_ ->
+ (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((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 r0 -> (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" (r0)))))))))}))}
+ in mapOptionTree0 (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" ((let {
+ dropT0 __U03a3_ tf =
+ (trace "X" (case (trace "X" (tf)) of {
+ Tf_leaf_true x -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))));
+ Tf_leaf_false x -> (trace "X" (__U03a3_));
+ Tf_branch b1 b2 tb1 tb2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((dropT0 (trace "X" (b1)) (trace "X" (tb1))))))) (trace "X" ((trace "X" ((dropT0 (trace "X" (b2)) (trace "X" (tb2)))))))))}))}
+ in dropT0 (trace "X" (c))
+ (trace "X" ((trace "X" ((let {
+ mkFlags0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf x ->
+ (trace "X" (case (trace "X" ((trace "X" (f (trace "X" (x)))))) of {
+ Prelude.True -> (trace "X" (Tf_leaf_true (trace "X" (x))));
+ 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))))))))))))))))) (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))))))))))))))) (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 r0 -> (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" (r0)))))))))}))}
+ in mapOptionTree0 (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" ((let {
+ dropT0 __U03a3_ tf =
+ (trace "X" (case (trace "X" (tf)) of {
+ Tf_leaf_true x -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))));
+ Tf_leaf_false x -> (trace "X" (__U03a3_));
+ Tf_branch b1 b2 tb1 tb2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((dropT0 (trace "X" (b1)) (trace "X" (tb1))))))) (trace "X" ((trace "X" ((dropT0 (trace "X" (b2)) (trace "X" (tb2)))))))))}))}
+ in dropT0 (trace "X" (c))
+ (trace "X" ((trace "X" ((let {
+ mkFlags0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf x ->
+ (trace "X" (case (trace "X" ((trace "X" (f (trace "X" (x)))))) of {
+ Prelude.True -> (trace "X" (Tf_leaf_true (trace "X" (x))));
+ 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))))))))))))))))) (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)))))))))))))))))))))))))))) (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" (a)) (trace "X" (b)) (trace "X" (r')))))))
+ (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" ((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)))))))))))) (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))))))))))))))))))) (trace "X" ((\_ ->
+ (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((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 r0 -> (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" (r0)))))))))}))}
+ in mapOptionTree0 (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" ((let {
+ dropT0 __U03a3_ tf =
+ (trace "X" (case (trace "X" (tf)) of {
+ Tf_leaf_true x -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))));
+ Tf_leaf_false x -> (trace "X" (__U03a3_));
+ Tf_branch b1 b2 tb1 tb2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((dropT0 (trace "X" (b1)) (trace "X" (tb1))))))) (trace "X" ((trace "X" ((dropT0 (trace "X" (b2)) (trace "X" (tb2)))))))))}))}
+ in dropT0 (trace "X" (c))
+ (trace "X" ((trace "X" ((let {
+ mkFlags0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf x ->
+ (trace "X" (case (trace "X" ((trace "X" (f (trace "X" (x)))))) of {
+ Prelude.True -> (trace "X" (Tf_leaf_true (trace "X" (x))));
+ 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))))))))))))))))) (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))))))))))))))) (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 r0 -> (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" (r0)))))))))}))}
+ in mapOptionTree0 (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" ((let {
+ dropT0 __U03a3_ tf =
+ (trace "X" (case (trace "X" (tf)) of {
+ Tf_leaf_true x -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))));
+ Tf_leaf_false x -> (trace "X" (__U03a3_));
+ Tf_branch b1 b2 tb1 tb2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((dropT0 (trace "X" (b1)) (trace "X" (tb1))))))) (trace "X" ((trace "X" ((dropT0 (trace "X" (b2)) (trace "X" (tb2)))))))))}))}
+ in dropT0 (trace "X" (c))
+ (trace "X" ((trace "X" ((let {
+ mkFlags0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf x ->
+ (trace "X" (case (trace "X" ((trace "X" (f (trace "X" (x)))))) of {
+ Prelude.True -> (trace "X" (Tf_leaf_true (trace "X" (x))));
+ 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))))))))))))))))) (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)))))))))))))))))))))) (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" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (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)))))))))))) (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))))))))))))
+ (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 r0 -> (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" (r0)))))))))}))}
+ in mapOptionTree0 (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" ((let {
+ dropT0 __U03a3_ tf =
+ (trace "X" (case (trace "X" (tf)) of {
+ Tf_leaf_true x -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))));
+ Tf_leaf_false x -> (trace "X" (__U03a3_));
+ Tf_branch b1 b2 tb1 tb2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((dropT0 (trace "X" (b1)) (trace "X" (tb1))))))) (trace "X" ((trace "X" ((dropT0 (trace "X" (b2)) (trace "X" (tb2)))))))))}))}
+ in dropT0 (trace "X" (c))
+ (trace "X" ((trace "X" ((let {
+ mkFlags0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf x ->
+ (trace "X" (case (trace "X" ((trace "X" (f (trace "X" (x)))))) of {
+ Prelude.True -> (trace "X" (Tf_leaf_true (trace "X" (x))));
+ 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)))))))))))))))))))))))))))));
+ ARight a b c r' -> (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" (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" (a))))))))))))))))))))))))) (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" ((\_ ->
+ (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (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))))))))))))
+ (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 r0 -> (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" (r0)))))))))}))}
+ in mapOptionTree0 (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" ((let {
+ dropT0 __U03a3_ tf =
+ (trace "X" (case (trace "X" (tf)) of {
+ Tf_leaf_true x -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))));
+ Tf_leaf_false x -> (trace "X" (__U03a3_));
+ Tf_branch b1 b2 tb1 tb2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((dropT0 (trace "X" (b1)) (trace "X" (tb1))))))) (trace "X" ((trace "X" ((dropT0 (trace "X" (b2)) (trace "X" (tb2)))))))))}))}
+ in dropT0 (trace "X" (c))
+ (trace "X" ((trace "X" ((let {
+ mkFlags0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf x ->
+ (trace "X" (case (trace "X" ((trace "X" (f (trace "X" (x)))))) of {
+ Prelude.True -> (trace "X" (Tf_leaf_true (trace "X" (x))));
+ 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)))))))))))))))))))) (trace "X" ((T_Branch (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))))))))))))
+ (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 r0 -> (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" (r0)))))))))}))}
+ in mapOptionTree0 (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" ((let {
+ dropT0 __U03a3_ tf =
+ (trace "X" (case (trace "X" (tf)) of {
+ Tf_leaf_true x -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))));
+ Tf_leaf_false x -> (trace "X" (__U03a3_));
+ Tf_branch b1 b2 tb1 tb2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((dropT0 (trace "X" (b1)) (trace "X" (tb1))))))) (trace "X" ((trace "X" ((dropT0 (trace "X" (b2)) (trace "X" (tb2)))))))))}))}
+ in dropT0 (trace "X" (c))
+ (trace "X" ((trace "X" ((let {
+ mkFlags0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf x ->
+ (trace "X" (case (trace "X" ((trace "X" (f (trace "X" (x)))))) of {
+ Prelude.True -> (trace "X" (Tf_leaf_true (trace "X" (x))));
+ 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))))))))))))))))))))))))))))))))) (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" (a)) (trace "X" (b)) (trace "X" (r')))))))
+ (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" ((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)))))))))))) (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))))))))))))))))))) (trace "X" ((\_ ->
+ (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (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))))))))))))
+ (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 r0 -> (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" (r0)))))))))}))}
+ in mapOptionTree0 (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" ((let {
+ dropT0 __U03a3_ tf =
+ (trace "X" (case (trace "X" (tf)) of {
+ Tf_leaf_true x -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))));
+ Tf_leaf_false x -> (trace "X" (__U03a3_));
+ Tf_branch b1 b2 tb1 tb2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((dropT0 (trace "X" (b1)) (trace "X" (tb1))))))) (trace "X" ((trace "X" ((dropT0 (trace "X" (b2)) (trace "X" (tb2)))))))))}))}
+ in dropT0 (trace "X" (c))
+ (trace "X" ((trace "X" ((let {
+ mkFlags0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf x ->
+ (trace "X" (case (trace "X" ((trace "X" (f (trace "X" (x)))))) of {
+ Prelude.True -> (trace "X" (Tf_leaf_true (trace "X" (x))));
+ 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)))))))))))))))))))) (trace "X" ((T_Branch (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))))))))))))
+ (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 r0 -> (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" (r0)))))))))}))}
+ in mapOptionTree0 (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" ((let {
+ dropT0 __U03a3_ tf =
+ (trace "X" (case (trace "X" (tf)) of {
+ Tf_leaf_true x -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))));
+ Tf_leaf_false x -> (trace "X" (__U03a3_));
+ Tf_branch b1 b2 tb1 tb2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((dropT0 (trace "X" (b1)) (trace "X" (tb1))))))) (trace "X" ((trace "X" ((dropT0 (trace "X" (b2)) (trace "X" (tb2)))))))))}))}
+ in dropT0 (trace "X" (c))
+ (trace "X" ((trace "X" ((let {
+ mkFlags0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf x ->
+ (trace "X" (case (trace "X" ((trace "X" (f (trace "X" (x)))))) of {
+ Prelude.True -> (trace "X" (Tf_leaf_true (trace "X" (x))));
+ 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))))))))))))))))))))))))))) (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" ((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)))))))))))) (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))))))))))))
+ (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 r0 -> (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" (r0)))))))))}))}
+ in mapOptionTree0 (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" ((let {
+ dropT0 __U03a3_ tf =
+ (trace "X" (case (trace "X" (tf)) of {
+ Tf_leaf_true x -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))));
+ Tf_leaf_false x -> (trace "X" (__U03a3_));
+ Tf_branch b1 b2 tb1 tb2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((dropT0 (trace "X" (b1)) (trace "X" (tb1))))))) (trace "X" ((trace "X" ((dropT0 (trace "X" (b2)) (trace "X" (tb2)))))))))}))}
+ in dropT0 (trace "X" (c))
+ (trace "X" ((trace "X" ((let {
+ mkFlags0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf x ->
+ (trace "X" (case (trace "X" ((trace "X" (f (trace "X" (x)))))) of {
+ Prelude.True -> (trace "X" (Tf_leaf_true (trace "X" (x))));
+ 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)))))))))))))))))))))))))))));
+ AComp 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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((AExch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((ACanL (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((AuCanR (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((ACanL (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 HaskType)) -> ND Judg Rule
+flatten_arrangement unitTy prodTy gaTy gar __U0393_0 __U0394_0 n ec lev ant1 ant2 r 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" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (n)) (trace "X" (ant1)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" (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" ((trace "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" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" (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" ((trace "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" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" (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" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (n)) (trace "X" (ant1)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" (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" ((trace "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" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" (x))))))))) (trace "X" (succ)))))))))))))))))))) (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" (n)) (trace "X" (ant1)))))))))))) (trace "X" ((trace "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" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" (x))))))))) (trace "X" (succ)))))))))))))))))))) (trace "X" (([])))
+ (trace "X" ((trace "X" ((let {
+ flatten ant3 ant4 r0 =
+ (trace "X" (case (trace "X" (r0)) of {
+ AId a -> (trace "X" (AId (trace "X" ((trace "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" (a))))))))))))));
+ ACanL a -> (trace "X" (ACanL
+ (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 r1 -> (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" (r1)))))))))}))}
+ 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" ((let {
+ dropT0 __U03a3_ tf =
+ (trace "X" (case (trace "X" (tf)) of {
+ Tf_leaf_true x -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))));
+ Tf_leaf_false x -> (trace "X" (__U03a3_));
+ Tf_branch b1 b2 tb1 tb2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((dropT0 (trace "X" (b1)) (trace "X" (tb1))))))) (trace "X" ((trace "X" ((dropT0 (trace "X" (b2)) (trace "X" (tb2)))))))))}))}
+ in dropT0 (trace "X" (a))
+ (trace "X" ((trace "X" ((let {
+ mkFlags0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf x ->
+ (trace "X" (case (trace "X" ((trace "X" (f (trace "X" (x)))))) of {
+ Prelude.True -> (trace "X" (Tf_leaf_true (trace "X" (x))));
+ 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" (a)))))))))))))))))));
+ ACanR a -> (trace "X" (ACanR
+ (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 r1 -> (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" (r1)))))))))}))}
+ 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" ((let {
+ dropT0 __U03a3_ tf =
+ (trace "X" (case (trace "X" (tf)) of {
+ Tf_leaf_true x -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))));
+ Tf_leaf_false x -> (trace "X" (__U03a3_));
+ Tf_branch b1 b2 tb1 tb2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((dropT0 (trace "X" (b1)) (trace "X" (tb1))))))) (trace "X" ((trace "X" ((dropT0 (trace "X" (b2)) (trace "X" (tb2)))))))))}))}
+ in dropT0 (trace "X" (a))
+ (trace "X" ((trace "X" ((let {
+ mkFlags0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf x ->
+ (trace "X" (case (trace "X" ((trace "X" (f (trace "X" (x)))))) of {
+ Prelude.True -> (trace "X" (Tf_leaf_true (trace "X" (x))));
+ 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" (a)))))))))))))))))));
+ AuCanL a -> (trace "X" (AuCanL (trace "X" ((trace "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" (a))))))))))))));
+ AuCanR a -> (trace "X" (AuCanR (trace "X" ((trace "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" (a))))))))))))));
+ AAssoc a b c -> (trace "X" (AAssoc
+ (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 r1 -> (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" (r1)))))))))}))}
+ 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" ((let {
+ dropT0 __U03a3_ tf =
+ (trace "X" (case (trace "X" (tf)) of {
+ Tf_leaf_true x -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))));
+ Tf_leaf_false x -> (trace "X" (__U03a3_));
+ Tf_branch b1 b2 tb1 tb2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((dropT0 (trace "X" (b1)) (trace "X" (tb1))))))) (trace "X" ((trace "X" ((dropT0 (trace "X" (b2)) (trace "X" (tb2)))))))))}))}
+ in dropT0 (trace "X" (a))
+ (trace "X" ((trace "X" ((let {
+ mkFlags0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf x ->
+ (trace "X" (case (trace "X" ((trace "X" (f (trace "X" (x)))))) of {
+ Prelude.True -> (trace "X" (Tf_leaf_true (trace "X" (x))));
+ 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" (a)))))))))))))))))
+ (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 r1 -> (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" (r1)))))))))}))}
+ 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" ((let {
+ dropT0 __U03a3_ tf =
+ (trace "X" (case (trace "X" (tf)) of {
+ Tf_leaf_true x -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))));
+ Tf_leaf_false x -> (trace "X" (__U03a3_));
+ Tf_branch b1 b2 tb1 tb2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((dropT0 (trace "X" (b1)) (trace "X" (tb1))))))) (trace "X" ((trace "X" ((dropT0 (trace "X" (b2)) (trace "X" (tb2)))))))))}))}
+ in dropT0 (trace "X" (b))
+ (trace "X" ((trace "X" ((let {
+ mkFlags0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf x ->
+ (trace "X" (case (trace "X" ((trace "X" (f (trace "X" (x)))))) of {
+ Prelude.True -> (trace "X" (Tf_leaf_true (trace "X" (x))));
+ 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" (b)))))))))))))))))
+ (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 r1 -> (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" (r1)))))))))}))}
+ 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" ((let {
+ dropT0 __U03a3_ tf =
+ (trace "X" (case (trace "X" (tf)) of {
+ Tf_leaf_true x -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))));
+ Tf_leaf_false x -> (trace "X" (__U03a3_));
+ Tf_branch b1 b2 tb1 tb2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((dropT0 (trace "X" (b1)) (trace "X" (tb1))))))) (trace "X" ((trace "X" ((dropT0 (trace "X" (b2)) (trace "X" (tb2)))))))))}))}
+ in dropT0 (trace "X" (c))
+ (trace "X" ((trace "X" ((let {
+ mkFlags0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf x ->
+ (trace "X" (case (trace "X" ((trace "X" (f (trace "X" (x)))))) of {
+ Prelude.True -> (trace "X" (Tf_leaf_true (trace "X" (x))));
+ 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)))))))))))))))))));
+ AuAssoc a b c -> (trace "X" (AuAssoc
+ (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 r1 -> (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" (r1)))))))))}))}
+ 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" ((let {
+ dropT0 __U03a3_ tf =
+ (trace "X" (case (trace "X" (tf)) of {
+ Tf_leaf_true x -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))));
+ Tf_leaf_false x -> (trace "X" (__U03a3_));
+ Tf_branch b1 b2 tb1 tb2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((dropT0 (trace "X" (b1)) (trace "X" (tb1))))))) (trace "X" ((trace "X" ((dropT0 (trace "X" (b2)) (trace "X" (tb2)))))))))}))}
+ in dropT0 (trace "X" (a))
+ (trace "X" ((trace "X" ((let {
+ mkFlags0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf x ->
+ (trace "X" (case (trace "X" ((trace "X" (f (trace "X" (x)))))) of {
+ Prelude.True -> (trace "X" (Tf_leaf_true (trace "X" (x))));
+ 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" (a)))))))))))))))))
+ (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 r1 -> (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" (r1)))))))))}))}
+ 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" ((let {
+ dropT0 __U03a3_ tf =
+ (trace "X" (case (trace "X" (tf)) of {
+ Tf_leaf_true x -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))));
+ Tf_leaf_false x -> (trace "X" (__U03a3_));
+ Tf_branch b1 b2 tb1 tb2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((dropT0 (trace "X" (b1)) (trace "X" (tb1))))))) (trace "X" ((trace "X" ((dropT0 (trace "X" (b2)) (trace "X" (tb2)))))))))}))}
+ in dropT0 (trace "X" (b))
+ (trace "X" ((trace "X" ((let {
+ mkFlags0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf x ->
+ (trace "X" (case (trace "X" ((trace "X" (f (trace "X" (x)))))) of {
+ Prelude.True -> (trace "X" (Tf_leaf_true (trace "X" (x))));
+ 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" (b)))))))))))))))))
+ (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 r1 -> (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" (r1)))))))))}))}
+ 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" ((let {
+ dropT0 __U03a3_ tf =
+ (trace "X" (case (trace "X" (tf)) of {
+ Tf_leaf_true x -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))));
+ Tf_leaf_false x -> (trace "X" (__U03a3_));
+ Tf_branch b1 b2 tb1 tb2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((dropT0 (trace "X" (b1)) (trace "X" (tb1))))))) (trace "X" ((trace "X" ((dropT0 (trace "X" (b2)) (trace "X" (tb2)))))))))}))}
+ in dropT0 (trace "X" (c))
+ (trace "X" ((trace "X" ((let {
+ mkFlags0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf x ->
+ (trace "X" (case (trace "X" ((trace "X" (f (trace "X" (x)))))) of {
+ Prelude.True -> (trace "X" (Tf_leaf_true (trace "X" (x))));
+ 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)))))))))))))))))));
+ AExch a b -> (trace "X" (AExch
+ (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 r1 -> (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" (r1)))))))))}))}
+ 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" ((let {
+ dropT0 __U03a3_ tf =
+ (trace "X" (case (trace "X" (tf)) of {
+ Tf_leaf_true x -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))));
+ Tf_leaf_false x -> (trace "X" (__U03a3_));
+ Tf_branch b1 b2 tb1 tb2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((dropT0 (trace "X" (b1)) (trace "X" (tb1))))))) (trace "X" ((trace "X" ((dropT0 (trace "X" (b2)) (trace "X" (tb2)))))))))}))}
+ in dropT0 (trace "X" (a))
+ (trace "X" ((trace "X" ((let {
+ mkFlags0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf x ->
+ (trace "X" (case (trace "X" ((trace "X" (f (trace "X" (x)))))) of {
+ Prelude.True -> (trace "X" (Tf_leaf_true (trace "X" (x))));
+ 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" (a)))))))))))))))))
+ (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 r1 -> (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" (r1)))))))))}))}
+ 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" ((let {
+ dropT0 __U03a3_ tf =
+ (trace "X" (case (trace "X" (tf)) of {
+ Tf_leaf_true x -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))));
+ Tf_leaf_false x -> (trace "X" (__U03a3_));
+ Tf_branch b1 b2 tb1 tb2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((dropT0 (trace "X" (b1)) (trace "X" (tb1))))))) (trace "X" ((trace "X" ((dropT0 (trace "X" (b2)) (trace "X" (tb2)))))))))}))}
+ in dropT0 (trace "X" (b))
+ (trace "X" ((trace "X" ((let {
+ mkFlags0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf x ->
+ (trace "X" (case (trace "X" ((trace "X" (f (trace "X" (x)))))) of {
+ Prelude.True -> (trace "X" (Tf_leaf_true (trace "X" (x))));
+ 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" (b)))))))))))))))))));
+ AWeak a -> (trace "X" (AWeak (trace "X" ((trace "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" (a))))))))))))));
+ ACont a -> (trace "X" (ACont
+ (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 r1 -> (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" (r1)))))))))}))}
+ 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" ((let {
+ dropT0 __U03a3_ tf =
+ (trace "X" (case (trace "X" (tf)) of {
+ Tf_leaf_true x -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))));
+ Tf_leaf_false x -> (trace "X" (__U03a3_));
+ Tf_branch b1 b2 tb1 tb2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((dropT0 (trace "X" (b1)) (trace "X" (tb1))))))) (trace "X" ((trace "X" ((dropT0 (trace "X" (b2)) (trace "X" (tb2)))))))))}))}
+ in dropT0 (trace "X" (a))
+ (trace "X" ((trace "X" ((let {
+ mkFlags0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf x ->
+ (trace "X" (case (trace "X" ((trace "X" (f (trace "X" (x)))))) of {
+ Prelude.True -> (trace "X" (Tf_leaf_true (trace "X" (x))));
+ 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" (a)))))))))))))))))));
+ ALeft a b c r' -> (trace "X" (ALeft
+ (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 r1 -> (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" (r1)))))))))}))}
+ 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" ((let {
+ dropT0 __U03a3_ tf =
+ (trace "X" (case (trace "X" (tf)) of {
+ Tf_leaf_true x -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))));
+ Tf_leaf_false x -> (trace "X" (__U03a3_));
+ Tf_branch b1 b2 tb1 tb2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((dropT0 (trace "X" (b1)) (trace "X" (tb1))))))) (trace "X" ((trace "X" ((dropT0 (trace "X" (b2)) (trace "X" (tb2)))))))))}))}
+ in dropT0 (trace "X" (a))
+ (trace "X" ((trace "X" ((let {
+ mkFlags0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf x ->
+ (trace "X" (case (trace "X" ((trace "X" (f (trace "X" (x)))))) of {
+ Prelude.True -> (trace "X" (Tf_leaf_true (trace "X" (x))));
+ 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" (a)))))))))))))))))
+ (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 r1 -> (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" (r1)))))))))}))}
+ 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" ((let {
+ dropT0 __U03a3_ tf =
+ (trace "X" (case (trace "X" (tf)) of {
+ Tf_leaf_true x -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))));
+ Tf_leaf_false x -> (trace "X" (__U03a3_));
+ Tf_branch b1 b2 tb1 tb2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((dropT0 (trace "X" (b1)) (trace "X" (tb1))))))) (trace "X" ((trace "X" ((dropT0 (trace "X" (b2)) (trace "X" (tb2)))))))))}))}
+ in dropT0 (trace "X" (b))
+ (trace "X" ((trace "X" ((let {
+ mkFlags0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf x ->
+ (trace "X" (case (trace "X" ((trace "X" (f (trace "X" (x)))))) of {
+ Prelude.True -> (trace "X" (Tf_leaf_true (trace "X" (x))));
+ 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" (b)))))))))))))))))
+ (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 r1 -> (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" (r1)))))))))}))}
+ 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" ((let {
+ dropT0 __U03a3_ tf =
+ (trace "X" (case (trace "X" (tf)) of {
+ Tf_leaf_true x -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))));
+ Tf_leaf_false x -> (trace "X" (__U03a3_));
+ Tf_branch b1 b2 tb1 tb2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((dropT0 (trace "X" (b1)) (trace "X" (tb1))))))) (trace "X" ((trace "X" ((dropT0 (trace "X" (b2)) (trace "X" (tb2)))))))))}))}
+ in dropT0 (trace "X" (c))
+ (trace "X" ((trace "X" ((let {
+ mkFlags0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf x ->
+ (trace "X" (case (trace "X" ((trace "X" (f (trace "X" (x)))))) of {
+ Prelude.True -> (trace "X" (Tf_leaf_true (trace "X" (x))));
+ 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" (r')))))))));
+ ARight a b c r' -> (trace "X" (ARight
+ (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 r1 -> (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" (r1)))))))))}))}
+ 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" ((let {
+ dropT0 __U03a3_ tf =
+ (trace "X" (case (trace "X" (tf)) of {
+ Tf_leaf_true x -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))));
+ Tf_leaf_false x -> (trace "X" (__U03a3_));
+ Tf_branch b1 b2 tb1 tb2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((dropT0 (trace "X" (b1)) (trace "X" (tb1))))))) (trace "X" ((trace "X" ((dropT0 (trace "X" (b2)) (trace "X" (tb2)))))))))}))}
+ in dropT0 (trace "X" (a))
+ (trace "X" ((trace "X" ((let {
+ mkFlags0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf x ->
+ (trace "X" (case (trace "X" ((trace "X" (f (trace "X" (x)))))) of {
+ Prelude.True -> (trace "X" (Tf_leaf_true (trace "X" (x))));
+ 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" (a)))))))))))))))))
+ (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 r1 -> (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" (r1)))))))))}))}
+ 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" ((let {
+ dropT0 __U03a3_ tf =
+ (trace "X" (case (trace "X" (tf)) of {
+ Tf_leaf_true x -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))));
+ Tf_leaf_false x -> (trace "X" (__U03a3_));
+ Tf_branch b1 b2 tb1 tb2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((dropT0 (trace "X" (b1)) (trace "X" (tb1))))))) (trace "X" ((trace "X" ((dropT0 (trace "X" (b2)) (trace "X" (tb2)))))))))}))}
+ in dropT0 (trace "X" (b))
+ (trace "X" ((trace "X" ((let {
+ mkFlags0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf x ->
+ (trace "X" (case (trace "X" ((trace "X" (f (trace "X" (x)))))) of {
+ Prelude.True -> (trace "X" (Tf_leaf_true (trace "X" (x))));
+ 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" (b)))))))))))))))))
+ (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 r1 -> (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" (r1)))))))))}))}
+ 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" ((let {
+ dropT0 __U03a3_ tf =
+ (trace "X" (case (trace "X" (tf)) of {
+ Tf_leaf_true x -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))));
+ Tf_leaf_false x -> (trace "X" (__U03a3_));
+ Tf_branch b1 b2 tb1 tb2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((dropT0 (trace "X" (b1)) (trace "X" (tb1))))))) (trace "X" ((trace "X" ((dropT0 (trace "X" (b2)) (trace "X" (tb2)))))))))}))}
+ in dropT0 (trace "X" (c))
+ (trace "X" ((trace "X" ((let {
+ mkFlags0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf x ->
+ (trace "X" (case (trace "X" ((trace "X" (f (trace "X" (x)))))) of {
+ Prelude.True -> (trace "X" (Tf_leaf_true (trace "X" (x))));
+ 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" (r')))))))));
+ AComp a b c r1 r2 -> (trace "X" (AComp
+ (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 r3 -> (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" (r3)))))))))}))}
+ 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" ((let {
+ dropT0 __U03a3_ tf =
+ (trace "X" (case (trace "X" (tf)) of {
+ Tf_leaf_true x -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))));
+ Tf_leaf_false x -> (trace "X" (__U03a3_));
+ Tf_branch b1 b2 tb1 tb2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((dropT0 (trace "X" (b1)) (trace "X" (tb1))))))) (trace "X" ((trace "X" ((dropT0 (trace "X" (b2)) (trace "X" (tb2)))))))))}))}
+ in dropT0 (trace "X" (a))
+ (trace "X" ((trace "X" ((let {
+ mkFlags0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf x ->
+ (trace "X" (case (trace "X" ((trace "X" (f (trace "X" (x)))))) of {
+ Prelude.True -> (trace "X" (Tf_leaf_true (trace "X" (x))));
+ 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" (a)))))))))))))))))
+ (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 r3 -> (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" (r3)))))))))}))}
+ 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" ((let {
+ dropT0 __U03a3_ tf =
+ (trace "X" (case (trace "X" (tf)) of {
+ Tf_leaf_true x -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))));
+ Tf_leaf_false x -> (trace "X" (__U03a3_));
+ Tf_branch b1 b2 tb1 tb2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((dropT0 (trace "X" (b1)) (trace "X" (tb1))))))) (trace "X" ((trace "X" ((dropT0 (trace "X" (b2)) (trace "X" (tb2)))))))))}))}
+ in dropT0 (trace "X" (b))
+ (trace "X" ((trace "X" ((let {
+ mkFlags0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf x ->
+ (trace "X" (case (trace "X" ((trace "X" (f (trace "X" (x)))))) of {
+ Prelude.True -> (trace "X" (Tf_leaf_true (trace "X" (x))));
+ 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" (b)))))))))))))))))
+ (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 r3 -> (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" (r3)))))))))}))}
+ 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" ((let {
+ dropT0 __U03a3_ tf =
+ (trace "X" (case (trace "X" (tf)) of {
+ Tf_leaf_true x -> (trace "X" (T_Leaf (trace "X" (Prelude.Nothing))));
+ Tf_leaf_false x -> (trace "X" (__U03a3_));
+ Tf_branch b1 b2 tb1 tb2 -> (trace "X" (T_Branch (trace "X" ((trace "X" ((dropT0 (trace "X" (b1)) (trace "X" (tb1))))))) (trace "X" ((trace "X" ((dropT0 (trace "X" (b2)) (trace "X" (tb2)))))))))}))}
+ in dropT0 (trace "X" (c))
+ (trace "X" ((trace "X" ((let {
+ mkFlags0 f t =
+ (trace "X" (case (trace "X" (t)) of {
+ T_Leaf x ->
+ (trace "X" (case (trace "X" ((trace "X" (f (trace "X" (x)))))) of {
+ Prelude.True -> (trace "X" (Tf_leaf_true (trace "X" (x))));
+ 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" (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" (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" (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 HaskType)) -> HaskLevel -> (Arrange LeveledHaskType) -> ND Judg Rule
+flatten_arrangement'' unitTy prodTy gaTy gar __U0393_0 __U0394_0 ant1 ant2 succ l r =
+ (trace "X" (case (trace "X" (l)) 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" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (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" (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" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (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" (x))))))))) (trace "X" (succ))))))) (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" (ant1))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (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" (x))))))))) (trace "X" (succ))))))) (trace "X" (([]))) (trace "X" ((trace "X" ((arrange_rect (trace "X" ((\a -> (trace "X" (AId (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (a)))))))))))) (trace "X" ((\a -> (trace "X" (ACanL (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (a)))))))))))) (trace "X" ((\a -> (trace "X" (ACanR (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (a)))))))))))) (trace "X" ((\a -> (trace "X" (AuCanL (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (a)))))))))))) (trace "X" ((\a -> (trace "X" (AuCanR (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (a)))))))))))) (trace "X" ((\a b c -> (trace "X" (AAssoc (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (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" (b))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (c)))))))))))) (trace "X" ((\a b c -> (trace "X" (AuAssoc (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (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" (b))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (c)))))))))))) (trace "X" ((\a b -> (trace "X" (AExch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (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" (b)))))))))))) (trace "X" ((\a -> (trace "X" (AWeak (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (a)))))))))))) (trace "X" ((\a -> (trace "X" (ACont (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (a)))))))))))) (trace "X" ((\h c x r0 iHr -> (trace "X" (ALeft (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (h))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (c))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (x))))))) (trace "X" (iHr))))))) (trace "X" ((\h c x r0 iHr -> (trace "X" (ARight (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (h))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (c))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (x))))))) (trace "X" (iHr))))))) (trace "X" ((\a b c r1 iHr1 r2 iHr2 -> (trace "X" (AComp (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (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" (b))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (c))))))) (trace "X" (iHr1)) (trace "X" (iHr2))))))) (trace "X" (ant1)) (trace "X" (ant2)) (trace "X" (r))))))))))));
+ (:) h l0 -> (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" (((:) (trace "X" (h)) (trace "X" (l0))))) (trace "X" (h)) (trace "X" (l0)) (trace "X" (ant1)) (trace "X" (ant2)) (trace "X" (r)) (trace "X" (succ))))))}))
+
+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" (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((ACanL (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((\_ -> (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" ((AExch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (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" ((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" ((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" (arrangeUnPartition (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" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (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" (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" (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" (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" (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" (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" (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" (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" (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" (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" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (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" (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" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (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" (l)) of {
+ MkLeveledHaskType t' lev' ->
+ (trace "X" (case (trace "X" (lev')) of {
+ ([]) -> (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)))))))));
+ (:) ec' lev'0 ->
+ (trace "X" (let {q0 = (trace "X" ((trace "X" (eqd_dec (trace "X" ((trace "X" ((haskLevelEqDecidable (trace "X" (__U0393_0))))))) (trace "X" (((:) (trace "X" (ec')) (trace "X" (lev'0))))) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))} in
+ (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((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" (t)))))))) (trace "X" (([]))))))))))))))))))))
+ (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" (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" (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" (t)))))))) (trace "X" (([]))) (trace "X" ((AExch
+ (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" (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" (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" (t)))))))) (trace "X" (([]))) (trace "X" (y))))))))))))))
+
+arrange_esc :: (() -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> (() -> (RawHaskType ()) -> (RawHaskType ()) -> (RawHaskType ()) -> RawHaskType ()) -> TypeEnv -> CoercionEnv -> HaskTyVar -> (Tree (Prelude.Maybe LeveledHaskType)) -> HaskType -> ND Judg Rule
+arrange_esc unitTy prodTy gaTy __U0393_0 __U0394_0 ec succ t =
+ (trace "X" (let {q = (trace "X" ((trace "X" (arrangePartition (trace "X" (succ)) (trace "X" ((trace "X" ((levelMatch (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))))))))))))} in
+ (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" (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" (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" (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" (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" (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" (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" (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" (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" (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" (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" (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" (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" (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" (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" (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" (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" (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" (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" (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" (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" (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" (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" (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" (t)))))))) (trace "X" (([]))) (trace "X" ((AComp (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" ((ALeft (trace "X" ((trace "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" ((arrangeCancelEmptyTree (trace "X" (x)) (trace "X" (q1)))))))))) (trace "X" ((ACanR (trace "X" ((trace "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" (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" (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" (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" (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" (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" (t)))))))) (trace "X" (([]))) (trace "X" ((AComp (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" ((AuCanR (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (t)) (trace "X" (([]))))))))))))))) (trace "X" ((ALeft (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" ((AWeak (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((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" (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" (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" (t)))))))) (trace "X" (([]))) (trace "X" ((AExch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (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" ((trace "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" (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" ((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" (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" ((trace "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_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" ((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" (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" (l)) of {
+ MkLeveledHaskType t' l' ->
+ (trace "X" (let {s0 = (trace "X" ((trace "X" (list_eq_dec (trace "X" (l')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([]))))))))))} in
+ (trace "X" (case (trace "X" ((trace "X" (s0 (trace "X" ((\v1 v2 ->
+ (trace "X" (case (trace "X" ((trace "X" (compareHT (trace "X" (__U0393_0)) (trace "X" (eCKind)) (trace "X" ((\_ -> (trace "X" ((trace "X" (haskTyVarToType (trace "X" (__U0393_0)) (trace "X" (eCKind)) (trace "X" (v1))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (haskTyVarToType (trace "X" (__U0393_0)) (trace "X" (eCKind)) (trace "X" (v2))))))))))))) of {
+ Prelude.True -> (trace "X" (Prelude.True));
+ Prelude.False -> (trace "X" (Prelude.False))}))))))))) of {
+ Prelude.True -> (trace "X" ((trace "X" (eq_rect_r (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" ((AComp (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" ((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" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((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" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (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" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((ACanL (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((AuCanR (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (l'))))));
+ Prelude.False -> (trace "X" (AComp (trace "X" ((T_Branch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (levels_to_tcode (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (t')) (trace "X" (l'))))))))) (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" (levels_to_tcode (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (t')) (trace "X" (l'))))))))) (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" ((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" (levels_to_tcode (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (t')) (trace "X" (l'))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((ACanR (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (levels_to_tcode (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (t')) (trace "X" (l'))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((AComp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (levels_to_tcode (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (t')) (trace "X" (l'))))))))) (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" (levels_to_tcode (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (t')) (trace "X" (l'))))))))) (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" ((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" (levels_to_tcode (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (t')) (trace "X" (l'))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((AuCanL (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (levels_to_tcode (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (t')) (trace "X" (l'))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((ARight (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" ((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" (levels_to_tcode (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (t')) (trace "X" (l'))))))))) (trace "X" (([])))))))))))) (trace "X" ((AWeak (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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.Nothing)))))))))))) (trace "X" (([])))))))))))))))))))))))}))))}));
+ Prelude.Nothing -> (trace "X" (ARight (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" ((T_Leaf (trace "X" (Prelude.Nothing)))))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((AWeak (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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.Nothing)))))))))))) (trace "X" (([])))))))))))))))))}))))) (trace "X" ((\succ1 iHsucc1 succ2 iHsucc2 -> (trace "X" (let {d2 = (trace "X" ((trace "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" (succ2)))))))))))} in (trace "X" (let {d1 = (trace "X" ((trace "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" (succ1)))))))))))} in (trace "X" (let {s1 = (trace "X" ((trace "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))))))))))))))))} in (trace "X" (let {s2 = (trace "X" ((trace "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))))))))))))))))} in (trace "X" (let {s1' = (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))))))))))))))))} in (trace "X" (let {s2' = (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))))))))))))))))} in (trace "X" (AComp (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (d1)) (trace "X" (d2))))) (trace "X" ((T_Branch (trace "X" (s1)) (trace "X" (s2)))))))) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (d1)) (trace "X" (s1))))) (trace "X" ((T_Branch (trace "X" (d2)) (trace "X" (s2)))))))) (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" ((T_Branch (trace "X" (s1')) (trace "X" (s2')))))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Branch (trace "X" (d1)) (trace "X" (d2)))))))) (trace "X" ((trace "X" ((arrangeSwapMiddle (trace "X" (d1)) (trace "X" (d2)) (trace "X" (s1)) (trace "X" (s2))))))) (trace "X" ((AComp (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (d1)) (trace "X" (s1))))) (trace "X" ((T_Branch (trace "X" (d2)) (trace "X" (s2)))))))) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (d1)) (trace "X" (s1))))) (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" (succ2))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (d2)))))))) (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" ((T_Branch (trace "X" (s1')) (trace "X" (s2')))))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Branch (trace "X" (d1)) (trace "X" (d2)))))))) (trace "X" ((ALeft (trace "X" ((T_Branch (trace "X" (d2)) (trace "X" (s2))))) (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" (succ2))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (d2))))) (trace "X" ((T_Branch (trace "X" (d1)) (trace "X" (s1))))) (trace "X" (iHsucc2))))) (trace "X" ((AComp (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (d1)) (trace "X" (s1))))) (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" (succ2))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (d2)))))))) (trace "X" ((T_Branch (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" (succ1))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (d1))))) (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" (succ2))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (d2)))))))) (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" ((T_Branch (trace "X" (s1')) (trace "X" (s2')))))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Branch (trace "X" (d1)) (trace "X" (d2)))))))) (trace "X" ((ARight (trace "X" ((T_Branch (trace "X" (d1)) (trace "X" (s1))))) (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" (succ1))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (d1))))) (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" (succ2))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (d2))))) (trace "X" (iHsucc1))))) (trace "X" ((AComp (trace "X" ((T_Branch (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" (succ1))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (d1))))) (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" (succ2))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (d2)))))))) (trace "X" ((T_Branch (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" (succ1))))))))))))))))))) (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" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (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" (succ2))))))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((T_Branch (trace "X" (d1)) (trace "X" (d2)))))))) (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" ((T_Branch (trace "X" (s1')) (trace "X" (s2')))))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Branch (trace "X" (d1)) (trace "X" (d2)))))))) (trace "X" ((trace "X" ((arrangeSwapMiddle (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (succ1))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (d1)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (succ2))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" (d2))))))) (trace "X" ((ARight (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" (succ1))))))))))))))))))) (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" ((\x _ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (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" (succ2))))))))))))))))))) (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_Branch (trace "X" (s1')) (trace "X" (s2')))))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Branch (trace "X" (d1)) (trace "X" (d2))))) (trace "X" ((trace "X" ((Prelude.error (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('m')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('h')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('r')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('!')) (trace "X" ([]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) (trace "X" (succ))))))))))))})))))))))))))))))
+
+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" ((AId (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" (AId (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))}))))) (trace "X" ((\t1 iHt1 t2 iHt2 -> (trace "X" (AComp (trace "X" ((trace "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" ((AComp (trace "X" ((trace "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" ((ARight
+ (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" ((ALeft (trace "X" ((trace "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" ((ACanL (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" ((AId (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" (AId (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))}))))) (trace "X" ((\t1 iHt1 t2 iHt2 -> (trace "X" (AComp (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" ((AuCanL (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((AComp (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" ((ARight (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" ((ALeft (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_skolemized_proof :: (() -> (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_skolemized_proof unitTy prodTy gaTy gar h c x =
+ (trace "X" ((trace "X" (nd_map' (trace "X" ((trace "X" ((flatten_judgment (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy))))))) (trace "X" ((\h0 c0 x0 ->
+ (trace "X" (case (trace "X" (x0)) of {
+ SFlat h1 c1 r ->
+ (trace "X" (case (trace "X" (r)) of {
+ RArrange __U0393_0 __U0394_0 a b x1 l d -> (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" (a)) (trace "X" (b)) (trace "X" (x1)) (trace "X" (l)) (trace "X" (d))))));
+ RBrak __U0393_0 __U0394_0 t ec succ lev -> (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" ('u')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('k')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('m')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('z')) (trace "X" (((:) (trace "X" ('e')) (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" ('r')) (trace "X" (((:) (trace "X" ('u')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" (';')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('h')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('h')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('u')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('d')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" ('\'')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('h')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('n')) (trace "X" ([])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
+ REsc __U0393_0 __U0394_0 t ec succ lev -> (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" ('u')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('k')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('m')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('z')) (trace "X" (((:) (trace "X" ('e')) (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" ('r')) (trace "X" (((:) (trace "X" ('u')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" (';')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('h')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('h')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('u')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('d')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" ('\'')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('h')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('n')) (trace "X" ([]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
+ RNote __U0393_0 __U0394_0 __U03a3_ __U03c4_ l n ->
+ (trace "X" (case (trace "X" (l)) 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" ((trace "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_))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c4_))))))))))))))) (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_))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c4_))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((RNote (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_))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c4_))))))))) (trace "X" (([]))) (trace "X" (n)))))));
+ (:) h2 l0 -> (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" (h2)) (trace "X" (l0))))) (trace "X" (__U03a3_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (h2))))))))) (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" (h2)) (trace "X" (l0))))) (trace "X" (__U03a3_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c4_)))))))))))))))))))))))))))) (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" (h2)) (trace "X" (l0))))) (trace "X" (__U03a3_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (h2))))))))) (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" (h2)) (trace "X" (l0))))) (trace "X" (__U03a3_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c4_)))))))))))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((RNote (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" (h2)) (trace "X" (l0))))) (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" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (h2))))))))) (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" (h2)) (trace "X" (l0))))) (trace "X" (__U03a3_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c4_)))))))))))))))))))))) (trace "X" (([]))) (trace "X" (n)))))))}));
+ RLit __U0393_0 __U0394_0 l l0 ->
+ (trace "X" (case (trace "X" (l0)) of {
+ ([]) -> (trace "X" ((trace "X" (eq_rect_r (trace "X" ((\_ -> (trace "X" ((trace "X" (literalType (trace "X" (l)) (trace "X" (__U0393_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.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (literalType (trace "X" (l)) (trace "X" (__U0393_0))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((RLit (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (l)) (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" ((\_ -> (trace "X" ((trace "X" (literalType (trace "X" (l)) (trace "X" (__U0393_0))))))))))))))))))));
+ (:) h2 l1 -> (trace "X" ((trace "X" (eq_rect_r (trace "X" ((\_ -> (trace "X" ((trace "X" (literalType (trace "X" (l)) (trace "X" (__U0393_0))))))))) (trace "X" ((trace "X" ((ga_lit (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" (h2))))))))) (trace "X" (([]))) (trace "X" (l))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (literalType (trace "X" (l)) (trace "X" (__U0393_0))))))))))))))))))))}));
+ RVar __U0393_0 __U0394_0 __U03c3_ lev ->
+ (trace "X" (case (trace "X" (lev)) of {
+ ([]) -> (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" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3_)) (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" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" (__U03c3_))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((RVar (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (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_)) (trace "X" (([]))))))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3_)) (trace "X" (([])))))))))))))))))) (trace "X" (([]))))))));
+ (:) h2 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_)) (trace "X" (((:) (trace "X" (h2)) (trace "X" (lev0)))))))))))))) (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" (h2))))))))) (trace "X" (([]))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (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_)))))))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (h2)) (trace "X" (lev0))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3_)) (trace "X" (((:) (trace "X" (h2)) (trace "X" (lev0)))))))))))))))))))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (h2)) (trace "X" (lev0))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (__U03c3_)) (trace "X" (((:) (trace "X" (h2)) (trace "X" (lev0)))))))))))))))))))))))}));
+ RGlobal __U0393_0 __U0394_0 __U03c3_ l wev ->
+ (trace "X" (case (trace "X" (__U03c3_)) of {
+ ([]) -> (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.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (glob_tf (trace "X" (__U0393_0)) (trace "X" (l)) (trace "X" (wev)))))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((trace "X" ((eq_rect_r (trace "X" ((\_ -> (trace "X" ((trace "X" (glob_tf (trace "X" (__U0393_0)) (trace "X" (l)) (trace "X" (wev))))))))) (trace "X" ((RGlobal (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (([]))) (trace "X" (l)) (trace "X" (wev))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (glob_tf (trace "X" (__U0393_0)) (trace "X" (l)) (trace "X" (wev)))))))))))))))))))))));
+ (:) ec lev -> (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" ('G')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('b')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('l')) (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" (' ')) (trace "X" (((:) (trace "X" ('g')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('b')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('h')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('u')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('d')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('v')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('r')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('r')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('d')) (trace "X" (((:) (trace "X" ('e')) (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" ('b')) (trace "X" (((:) (trace "X" ('r')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('c')) (trace "X" (((:) (trace "X" ('k')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('u')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" (' ')) (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" ('e')) (trace "X" (((:) (trace "X" ('d')) (trace "X" ([]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))}));
+ RLam __U0393_0 __U0394_0 __U03a3_ tx te lev ->
+ (trace "X" (case (trace "X" (lev)) 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" ((trace "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_))))))) (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" ((\_ -> (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" ((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_))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (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" ((RLam (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_))))))) (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" (tx)) (trace "X" (([]))))))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (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" (te))))))))) (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" (tx)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0)))))))))))))) (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" ((T_Branch (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3_))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((T_Branch (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3_))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0)))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (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" ((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_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((T_Branch (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3_))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0)))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (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" ((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_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (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" ((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" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3_))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((T_Branch (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3_))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0)))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (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" ((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_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((T_Branch (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3_))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0)))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (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" ((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" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3_))))))) (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_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((T_Branch (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3_))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0)))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (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" ((ACanR (trace "X" ((trace "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_))))))))))))))))))))) (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_)))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((T_Branch (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0))))) (trace "X" (__U03a3_))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" (tx)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0)))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (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" (ga_mk (trace "X" (unitTy)) (trace "X" (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_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (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" ((trace "X" ((ga_curry (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_)))))))))))) (trace "X" ((\_ -> (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" ((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" (tx)) (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" (tx)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev0)))))))))))))))))))))))}));
+ RCast __U0393_0 __U0394_0 __U03a3_ __U03c3_ __U03c4_ lev ->
+ (trace "X" (case (trace "X" (lev)) 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" ((trace "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_))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (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_))))))))))))))) (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_))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c4_))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((RCast (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_))))))) (trace "X" ((\_ -> (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_))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (__U03c4_))))))))) (trace "X" (([]))))))));
+ (:) ec lev0 -> (trace "X" ((trace "X" (Prelude.error (trace "X" (((:) (trace "X" ('R')) (trace "X" (((:) (trace "X" ('C')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('t')) (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" (((:) (trace "X" (';')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('c')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('s')) (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" ('i')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('d')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('f')) (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" ('b')) (trace "X" (((:) (trace "X" ('r')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('c')) (trace "X" (((:) (trace "X" ('k')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('s')) (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" ('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" ([])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))}));
+ 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" ((\_ ite -> (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_rawtype (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (KindStar)) (trace "X" ((trace "X" ((tx (trace "X" (__)) (trace "X" (ite))))))))))))))) (trace "X" ((trace "X" ((flatten_rawtype (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (KindStar)) (trace "X" ((trace "X" ((te (trace "X" (__)) (trace "X" (ite))))))))))))))))))))))) (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" ((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" ((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" ((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" ((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" (([]))))))));
+ (:) 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" ((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" ((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_)))))))))))))))))))}));
+ RCut __U0393_0 __U0394_0 __U03a3_ __U03a3___U2081_ __U03a3___U2081___U2082_ __U03a3___U2082_ __U03a3___U2083_ l ->
+ (trace "X" (case (trace "X" (l)) 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" ((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" (__U03a3___U2081___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_))))))) (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" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" (__U03a3___U2081___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___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" (x1))))))))) (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" ((trace "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_))))))) (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" ((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" (__U03a3___U2083_))))))) (trace "X" (([])))))))))))) (trace "X" ((trace "X" ((eq_rect (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (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" (__U03a3___U2081___U2082_)))))))))))) (trace "X" ((RCut (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_))))))) (trace "X" ((trace "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" ((\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" (__U03a3___U2081___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___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" (x1))))))))) (trace "X" (__U03a3___U2083_))))))) (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" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" (__U03a3___U2081___U2082_)))))))))))))))))));
+ (:) ec lev -> (trace "X" (let {x1 = (trace "X" ((trace "X" (drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev)))))))))) (trace "X" (__U03a3___U2081___U2082_)))))))))))} in (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" (lev)))))))))) (trace "X" (__U03a3___U2081___U2082_))))))) (trace "X" ((trace "X" ((eq_rect_r (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" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2081_))))))))))))))))) (trace "X" ((trace "X" ((eq_rect_r (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" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3_))))))))))))))))) (trace "X" ((trace "X" ((eq_rect_r (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" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev)))))))))) (trace "X" (__U03a3___U2081___U2082_))))))))))))))))) (trace "X" ((trace "X" ((eq_rect_r (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" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2082_))))))))))))))))) (trace "X" ((trace "X" ((eq_rect_r (trace "X" (__U03a3___U2081___U2082_)) (trace "X" ((trace "X" ((eq_rect (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((trace "X" ((eq_rect (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3_)))))))))))) (trace "X" ((trace "X" ((eq_rect (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (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" ((trace "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" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (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" (__U03a3___U2081___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" (lev))))) (trace "X" (__U03a3_)))))))))))) (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" (x1))))))) (trace "X" ((trace "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" (lev))))) (trace "X" (__U03a3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3_)))))))))))) (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" (x2))))))))) (trace "X" (__U03a3___U2081___U2082_))))))) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2082_)))))))))))))))))) (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" (__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" ((trace "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" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (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" (__U03a3___U2081___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" (lev))))) (trace "X" (__U03a3_)))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (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" (__U03a3___U2081___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" (lev))))) (trace "X" (__U03a3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3_)))))))))))) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2082_)))))))))))))))))) (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" (__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" ((trace "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" (lev))))) (trace "X" (__U03a3_)))))))))))) (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" (lev))))) (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" (lev))))) (trace "X" (__U03a3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3_)))))))))))) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2082_)))))))))))))))))) (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" (__U03a3___U2083_)))))))))))))))))))) (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" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (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" (__U03a3___U2081___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" (lev))))) (trace "X" (__U03a3_)))))))))))) (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" (x1))))))) (trace "X" ((trace "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" (lev))))) (trace "X" (__U03a3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3_)))))))))))) (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" (x2))))))))) (trace "X" (__U03a3___U2081___U2082_))))))) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2082_)))))))))))))))))) (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" (__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" ((trace "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" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (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" (__U03a3___U2081___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" (lev))))) (trace "X" (__U03a3_)))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (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" (__U03a3___U2081___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" (lev))))) (trace "X" (__U03a3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3_)))))))))))) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2082_)))))))))))))))))) (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" (__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" ((trace "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" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (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" (__U03a3___U2081___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" (lev))))) (trace "X" (__U03a3_)))))))))))) (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" (x1))))))) (trace "X" ((trace "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" (lev))))) (trace "X" (__U03a3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3_)))))))))))) (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" (x2))))))))) (trace "X" (__U03a3___U2081___U2082_))))))) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2082_)))))))))))))))))) (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" (__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" ((trace "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" (lev))))) (trace "X" (__U03a3_)))))))))))) (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" (lev))))) (trace "X" (__U03a3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3_)))))))))))) (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" (x2))))))))) (trace "X" (__U03a3___U2081___U2082_))))))) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2082_)))))))))))))))))) (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" (__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" ((trace "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" (lev))))) (trace "X" (__U03a3_)))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (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" (__U03a3___U2081___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" (lev))))) (trace "X" (__U03a3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3_)))))))))))) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2082_)))))))))))))))))) (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" (__U03a3___U2083_)))))))))))))))))))) (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" (lev))))) (trace "X" (__U03a3_)))))))))))) (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" (x1))))))) (trace "X" ((trace "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" (lev))))) (trace "X" (__U03a3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3_)))))))))))) (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" (x2))))))))) (trace "X" (__U03a3___U2081___U2082_))))))) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2082_)))))))))))))))))) (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" (__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" ((trace "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" (lev))))) (trace "X" (__U03a3_)))))))))))) (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" (lev))))) (trace "X" (__U03a3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3_)))))))))))) (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" (x2))))))))) (trace "X" (__U03a3___U2081___U2082_))))))) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2082_)))))))))))))))))) (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" (__U03a3___U2083_)))))))))))))))))))) (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" (lev))))) (trace "X" (__U03a3_)))))))))))) (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" (x1))))))) (trace "X" ((trace "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" (lev))))) (trace "X" (__U03a3___U2082_)))))))))))))))))) (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" (lev))))) (trace "X" (__U03a3_)))))))))))) (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" (lev))))) (trace "X" (__U03a3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3_)))))))))))) (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" (x2))))))))) (trace "X" (__U03a3___U2081___U2082_))))))) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2082_)))))))))))))))))) (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" (__U03a3___U2083_)))))))))))))))))))) (trace "X" (([]))) (trace "X" ((ALeft (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" (x1))))))) (trace "X" ((trace "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" (lev))))) (trace "X" (__U03a3___U2082_))))))))))))))) (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" (lev))))) (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" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3_)))))))))))) (trace "X" ((ARight (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (x1))))))) (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" (lev))))) (trace "X" (__U03a3___U2082_)))))))))))) (trace "X" ((trace "X" ((eq_rect_r (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (()))))) (trace "X" (__U03a3___U2081___U2082_)))))))))))) (trace "X" ((trace "X" ((arrangeCancelEmptyTree (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (()))))) (trace "X" (__U03a3___U2081___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" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (()))))) (trace "X" (__U03a3___U2081___U2082_)))))))))))))))))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev)))))))))) (trace "X" (__U03a3___U2081___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" ((trace "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" (lev))))) (trace "X" (__U03a3_)))))))))))) (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" (lev))))) (trace "X" (__U03a3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3_)))))))))))) (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" (x2))))))))) (trace "X" (__U03a3___U2081___U2082_))))))) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2082_)))))))))))))))))) (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" (__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" ((trace "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" (lev))))) (trace "X" (__U03a3_)))))))))))) (trace "X" ((trace "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" (lev))))) (trace "X" (__U03a3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3_)))))))))))) (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" (x2))))))))) (trace "X" (__U03a3___U2081___U2082_))))))) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2082_)))))))))))))))))) (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" (__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" ((trace "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" (lev))))) (trace "X" (__U03a3_)))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (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" (__U03a3___U2081___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" (lev))))) (trace "X" (__U03a3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3_)))))))))))) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2082_)))))))))))))))))) (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" (__U03a3___U2083_)))))))))))))))))))) (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" (lev))))) (trace "X" (__U03a3_)))))))))))) (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" (lev))))) (trace "X" (__U03a3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3_)))))))))))) (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" (x2))))))))) (trace "X" (__U03a3___U2081___U2082_))))))) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2082_)))))))))))))))))) (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" (__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" ((trace "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" (lev))))) (trace "X" (__U03a3_)))))))))))) (trace "X" ((trace "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" (lev))))) (trace "X" (__U03a3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3_)))))))))))) (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" (x2))))))))) (trace "X" (__U03a3___U2081___U2082_))))))) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2082_)))))))))))))))))) (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" (__U03a3___U2083_)))))))))))))))))))) (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" (lev))))) (trace "X" (__U03a3_)))))))))))) (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" (lev))))) (trace "X" (__U03a3___U2082_)))))))))))))))))) (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" (lev))))) (trace "X" (__U03a3_)))))))))))) (trace "X" ((trace "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" (lev))))) (trace "X" (__U03a3___U2082_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3_)))))))))))) (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" (x2))))))))) (trace "X" (__U03a3___U2081___U2082_))))))) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2082_)))))))))))))))))) (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" (__U03a3___U2083_)))))))))))))))))))) (trace "X" (([]))) (trace "X" ((ALeft (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" (lev))))) (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" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (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" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3_)))))))))))) (trace "X" ((ACanL (trace "X" ((trace "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" (lev))))) (trace "X" (__U03a3___U2082_)))))))))))))))))))))))) (trace "X" ((let {a = (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" (__U03a3___U2081___U2082_))))))} in (trace "X" (let {b = (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))} in (trace "X" (let {c2 = (trace "X" ((trace "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" (lev))))) (trace "X" (__U03a3___U2082_)))))))))))} in (trace "X" (let {d = (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2082_)))))))))))} in (trace "X" (let {e = (trace "X" ((trace "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" (lev))))) (trace "X" (__U03a3_)))))))))))} in (trace "X" (let {f = (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3_)))))))))))} 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" (e)) (trace "X" (c2))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (d)))))))) (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" (__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" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" (a)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (d)))))))) (trace "X" ((T_Branch (trace "X" (f)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (d))))))))))))))))))))) (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" (e)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (d)))))))) (trace "X" ((T_Branch (trace "X" (f)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (d)))))))))))))))))))))))))) (trace "X" (c2)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (d)))))))) (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" (__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" (e)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" (a)))))))))))))))))))) (trace "X" (c2)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (d)))))))) (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" (__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" (e)) (trace "X" (c2))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (d)))))))) (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" (__U03a3___U2083_)))))))))))))))))))) (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" (e)) (trace "X" (c2))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (d)))))))) (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" (__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" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" (a)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (d)))))))) (trace "X" ((T_Branch (trace "X" (f)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (d))))))))))))))))))))) (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" (e)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (d)))))))) (trace "X" ((T_Branch (trace "X" (f)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (d)))))))))))))))))))))))))) (trace "X" (c2)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (d)))))))) (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" (__U03a3___U2083_)))))))))))))))))))) (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" (e)) (trace "X" (c2))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (d)))))))) (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" (__U03a3___U2083_)))))))))))))))))))) (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" (e)) (trace "X" (c2))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (d)))))))) (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" (__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" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" (a)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (d)))))))) (trace "X" ((T_Branch (trace "X" (f)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (d))))))))))))))))))))) (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" (e)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (d)))))))) (trace "X" ((T_Branch (trace "X" (f)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (d)))))))))))))))))))))))))) (trace "X" (c2)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (d)))))))) (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" (__U03a3___U2083_)))))))))))))))))))) (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" ((T_Branch (trace "X" (b)) (trace "X" (d))))) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (d))))) (trace "X" (f)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" (a))))))))) (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" (b)) (trace "X" (a)) (trace "X" (d)))))))))))) (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" (e)) (trace "X" (c2))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (d)))))))) (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" (__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" (e)) (trace "X" ((T_Branch (trace "X" (c2)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (d)))))))) (trace "X" ((T_Branch (trace "X" (f)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (d)))))))))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (d)))))))) (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" (__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" (e)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (d)))))))) (trace "X" ((T_Branch (trace "X" (f)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (d)))))))))))))))))))))))))) (trace "X" (c2)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (d)))))))) (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" (__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" (e)) (trace "X" (c2))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (d)))))))) (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" (__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" ((T_Branch (trace "X" (e)) (trace "X" (c2))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (d)))))))) (trace "X" ((T_Branch (trace "X" (f)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (d))))))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (d)))))))) (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" (__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" (e)) (trace "X" ((T_Branch (trace "X" (c2)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (d)))))))) (trace "X" ((T_Branch (trace "X" (f)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (d)))))))))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (d)))))))) (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" (__U03a3___U2083_)))))))))))))))))))) (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" ((T_Branch (trace "X" (e)) (trace "X" (c2))))) (trace "X" ((T_Branch (trace "X" (f)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (d)))))))) (trace "X" ((T_Branch (trace "X" (f)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (d)))))))) (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" (__U03a3___U2083_))))))) (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_Branch (trace "X" (e)) (trace "X" (c2))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (d)))))))) (trace "X" ((T_Branch (trace "X" (f)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (d))))))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (d)))))))) (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" (__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" (e)) (trace "X" ((T_Branch (trace "X" (c2)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (d)))))))) (trace "X" ((T_Branch (trace "X" (f)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (d)))))))))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (d)))))))) (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" (__U03a3___U2083_)))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((T_Branch (trace "X" (e)) (trace "X" (c2))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (d)))))))) (trace "X" ((T_Branch (trace "X" (f)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (d))))))))))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" (e)) (trace "X" ((T_Branch (trace "X" (c2)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (d)))))))) (trace "X" ((T_Branch (trace "X" (f)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (d)))))))))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (d)))))))) (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" (__U03a3___U2083_)))))))))))))))))))) (trace "X" (([]))) (trace "X" ((AuAssoc (trace "X" (e)) (trace "X" (c2)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (d)))))))) (trace "X" ((T_Branch (trace "X" (f)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (d)))))))))))))))))))))))))))))))))))))) (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" (e)) (trace "X" ((T_Branch (trace "X" (c2)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (d)))))))) (trace "X" ((T_Branch (trace "X" (f)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (d)))))))))))))))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (d)))))))) (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" (__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" (e)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (d)))))))) (trace "X" ((T_Branch (trace "X" (f)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (d)))))))))))))))))))))))))) (trace "X" (c2)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (d)))))))) (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" (__U03a3___U2083_)))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" (e)) (trace "X" ((T_Branch (trace "X" (c2)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (d)))))))) (trace "X" ((T_Branch (trace "X" (f)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (d)))))))))))))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" (e)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (d)))))))) (trace "X" ((T_Branch (trace "X" (f)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (d)))))))))))))))))))))))))) (trace "X" (c2)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (d)))))))) (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" (__U03a3___U2083_)))))))))))))))))))) (trace "X" (([]))) (trace "X" ((ALeft (trace "X" ((T_Branch (trace "X" (c2)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (d)))))))) (trace "X" ((T_Branch (trace "X" (f)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (d))))))))))))))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (d)))))))) (trace "X" ((T_Branch (trace "X" (f)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (d)))))))))))))))))))))))))) (trace "X" (c2))))) (trace "X" (e)) (trace "X" ((AExch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (d)))))))) (trace "X" ((T_Branch (trace "X" (f)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (d)))))))))))))))))))))))))) (trace "X" (c2))))))))))))))))))))))) (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" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" (a)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (d)))))))) (trace "X" ((T_Branch (trace "X" (f)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (d))))))))))))))))))))) (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" (e)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (d)))))))) (trace "X" ((T_Branch (trace "X" (f)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (d)))))))))))))))))))))))))) (trace "X" (c2)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (d)))))))) (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" (__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" (e)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" (a)))))))))))))))))))) (trace "X" (c2)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (d)))))))) (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" (__U03a3___U2083_)))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((RCut (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (e)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" (a)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (d)))))))) (trace "X" ((T_Branch (trace "X" (f)) (trace "X" ((T_Branch (trace "X" (a)) (trace "X" (d))))))))))))))))))))) (trace "X" (c2)) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" (f)) (trace "X" ((T_Branch (trace "X" (b)) (trace "X" (d)))))))) (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" (__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" ((trace "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" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (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" (__U03a3___U2081___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" (lev))))) (trace "X" (__U03a3_)))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (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" (__U03a3___U2081___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" (lev))))) (trace "X" (__U03a3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3_)))))))))))) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2082_)))))))))))))))))) (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" (__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" ((trace "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" (lev))))) (trace "X" (__U03a3_)))))))))))) (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" (lev))))) (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" (lev))))) (trace "X" (__U03a3___U2082_)))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3_)))))))))))) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2082_)))))))))))))))))) (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" (__U03a3___U2083_)))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((RCut (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" (lev))))) (trace "X" (__U03a3_)))))))))))) (trace "X" ((trace "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" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (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" (__U03a3___U2081___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" (lev))))) (trace "X" (__U03a3___U2082_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3_)))))))))))) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2082_)))))))))))))))))) (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" (__U03a3___U2083_)))))))))))))))))))) (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" (x2))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2082_)))))))))))))))))))))) (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" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3_)))))))))))))))))))))) (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" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x2 _ -> (trace "X" ((trace "X" (unlev (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (x2))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev)))))))))) (trace "X" (__U03a3___U2081___U2082_))))))))))))))))) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2082_))))))))))))))))) (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" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev)))))))))) (trace "X" (__U03a3___U2081___U2082_))))))))))))))))) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3_))))))))))))))))) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2081_))))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev)))))))))) (trace "X" (__U03a3___U2081___U2082_))))))))))))))))))}));
+ RLeft __U0393_0 __U0394_0 __U03a3___U2081_ __U03a3___U2082_ __U03a3_ l ->
+ (trace "X" (case (trace "X" (l)) of {
+ ([]) -> (trace "X" ((trace "X" (eq_rect (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (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" (__U03a3_)))))))))))) (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" (__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" (x1))))))))) (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" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (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" (__U03a3_)))))))))))) (trace "X" ((trace "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" ((\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" (__U03a3_))))))) (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" (__U03a3___U2082_)))))))))) (trace "X" (([])))))))))))) (trace "X" ((RLeft (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" ((\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" (__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" (x1))))))))) (trace "X" (__U03a3_))))))) (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" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" (__U03a3_))))))))))))))));
+ (:) ec lev -> (trace "X" ((trace "X" (eq_rect_r (trace "X" ((trace "X" ((mapTree (trace "X" ((\x1 -> (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x1 -> (trace "X" (()))))) (trace "X" (__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" ((trace "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" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" (lev))))) (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" (x1))))))))) (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" ((trace "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" (lev))))) (trace "X" (__U03a3___U2081_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" (lev))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev)))))))))) (trace "X" (__U03a3_))))))) (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" (x1))))))))) (trace "X" (__U03a3_))))))) (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" (__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" ((trace "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" ((mapTree (trace "X" ((\x1 -> (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x1 -> (trace "X" (()))))) (trace "X" (__U03a3_))))))))))))))))) (trace "X" ((trace "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" (lev))))) (trace "X" (__U03a3___U2081_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" (lev))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev)))))))))) (trace "X" (__U03a3_))))))) (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" (x1))))))))) (trace "X" (__U03a3_))))))) (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" (__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" ((trace "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" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" (lev))))) (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" (x1))))))))) (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" ((trace "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" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" (lev))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev)))))))))) (trace "X" (__U03a3_))))))) (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" (x1))))))))) (trace "X" (__U03a3_))))))) (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" (__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" ((trace "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" (lev))))) (trace "X" (__U03a3___U2081_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" (lev))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev)))))))))) (trace "X" (__U03a3_))))))) (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" (x1))))))))) (trace "X" (__U03a3_))))))) (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" (__U03a3___U2082_))))))))))))))))))))))) (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" (lev))))) (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" ((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" (lev))))) (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" (x1))))))))) (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" (lev))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev)))))))))) (trace "X" (__U03a3_))))))) (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" (x1))))))))) (trace "X" (__U03a3_))))))) (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" (__U03a3___U2082_))))))))))))))))) (trace "X" (([]))) (trace "X" ((trace "X" ((eq_rect (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev)))))))))) (trace "X" (__U03a3_))))))) (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" (lev))))) (trace "X" (__U03a3___U2081_))))))))))))))))) (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" (lev)))))))))) (trace "X" (__U03a3_))))))))))))))))) (trace "X" ((trace "X" ((eq_rect_r (trace "X" (__U03a3_)) (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" (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" (lev))))) (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" (x1))))))))) (trace "X" (__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" (x1))))))))) (trace "X" (__U03a3_)))))))))))) (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" (lev)))))))))) (trace "X" (__U03a3_))))))))))))))))) (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" (lev)))))))))) (trace "X" (__U03a3_))))))))))))))))) (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" (lev))))) (trace "X" (__U03a3___U2081_))))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev)))))))))) (trace "X" (__U03a3_)))))))))))))))))))))) (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" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" (lev))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev)))))))))) (trace "X" (__U03a3_))))))) (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" (x1))))))))) (trace "X" (__U03a3_))))))) (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" (__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" ((trace "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" (lev))))) (trace "X" (__U03a3___U2081_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" (lev))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev)))))))))) (trace "X" (__U03a3_))))))) (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" (x1))))))))) (trace "X" (__U03a3_))))))) (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" (__U03a3___U2082_))))))))))))))))))))))) (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" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (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" (lev))))) (trace "X" (__U03a3___U2081_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" (lev))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev)))))))))) (trace "X" (__U03a3_))))))) (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" (x1))))))))) (trace "X" (__U03a3_))))))) (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" (__U03a3___U2082_))))))))))))))))))))))) (trace "X" (([]))) (trace "X" ((AuCanL (trace "X" ((trace "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" (lev))))) (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" ((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" (lev))))) (trace "X" (__U03a3___U2081_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" (lev))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev)))))))))) (trace "X" (__U03a3_))))))) (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" (x1))))))))) (trace "X" (__U03a3_))))))) (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" (__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" ((trace "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" ((mapTree (trace "X" ((\x1 -> (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x1 -> (trace "X" (()))))) (trace "X" (__U03a3_))))))))))))))))) (trace "X" ((trace "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" (lev))))) (trace "X" (__U03a3___U2081_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" (lev))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev)))))))))) (trace "X" (__U03a3_))))))) (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" (x1))))))))) (trace "X" (__U03a3_))))))) (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" (__U03a3___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" ((trace "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" (lev))))) (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" ((trace "X" ((mapTree (trace "X" ((\x1 -> (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x1 -> (trace "X" (()))))) (trace "X" (__U03a3_))))))))))))))))) (trace "X" ((trace "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" (lev))))) (trace "X" (__U03a3___U2081_))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" (lev))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev)))))))))) (trace "X" (__U03a3_))))))) (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" (x1))))))))) (trace "X" (__U03a3_))))))) (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" (__U03a3___U2082_))))))))))))))))))))))) (trace "X" (([]))) (trace "X" ((ARight (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" ((mapTree (trace "X" ((\x1 -> (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x1 -> (trace "X" (()))))) (trace "X" (__U03a3_))))))))))))))))) (trace "X" ((trace "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" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((trace "X" ((arrangeUnCancelEmptyTree (trace "X" ((trace "X" ((mapTree (trace "X" ((\x1 -> (trace "X" (()))))) (trace "X" (__U03a3_))))))) (trace "X" ((trace "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" ((mapTree (trace "X" ((\x1 -> (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x1 -> (trace "X" (()))))) (trace "X" (__U03a3_)))))))))))))))))))))))))))))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev)))))))))) (trace "X" (__U03a3_))))))))))))))))}));
+ RRight __U0393_0 __U0394_0 __U03a3___U2081_ __U03a3___U2082_ __U03a3_ l ->
+ (trace "X" (case (trace "X" (l)) of {
+ ([]) -> (trace "X" ((trace "X" (eq_rect (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (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" (__U03a3_)))))))))))) (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" (__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" (x1))))))))) (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" ((trace "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" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (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" (__U03a3_))))))))))))))) (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" (__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" (x1))))))))) (trace "X" (__U03a3_)))))))))) (trace "X" (([])))))))))))) (trace "X" ((RRight (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" ((\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" (__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" (x1))))))))) (trace "X" (__U03a3_))))))) (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" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" (__U03a3_))))))))))))))));
+ (:) ec lev -> (trace "X" ((trace "X" (eq_rect_r (trace "X" ((trace "X" ((mapTree (trace "X" ((\x1 -> (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x1 -> (trace "X" (()))))) (trace "X" (__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" ((trace "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" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" (lev))))) (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" (x1))))))))) (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" ((trace "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" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" (lev))))) (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" (ec)) (trace "X" (lev)))))))))) (trace "X" (__U03a3_)))))))))))))))))))) (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" (__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" (x1))))))))) (trace "X" (__U03a3_))))))))))))))))))))))) (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" (lev))))) (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" ((mapTree (trace "X" ((\x1 -> (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x1 -> (trace "X" (()))))) (trace "X" (__U03a3_)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" (lev))))) (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" (ec)) (trace "X" (lev)))))))))) (trace "X" (__U03a3_)))))))))))))))))))) (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" (__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" (x1))))))))) (trace "X" (__U03a3_))))))))))))))))))))))) (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" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" (lev))))) (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" (x1))))))))) (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" ((trace "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" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" (lev))))) (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" (ec)) (trace "X" (lev)))))))))) (trace "X" (__U03a3_)))))))))))))))))))) (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" (__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" (x1))))))))) (trace "X" (__U03a3_))))))))))))))))))))))) (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" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" (lev))))) (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" (ec)) (trace "X" (lev)))))))))) (trace "X" (__U03a3_)))))))))))))))))))) (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" (__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" (x1))))))))) (trace "X" (__U03a3_))))))))))))))))))))))) (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" (lev))))) (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" ((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" (lev))))) (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" (x1))))))))) (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" (lev))))) (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" (ec)) (trace "X" (lev)))))))))) (trace "X" (__U03a3_)))))))))))))))))))) (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" (__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" (x1))))))))) (trace "X" (__U03a3_))))))))))))))))) (trace "X" (([]))) (trace "X" ((trace "X" ((eq_rect (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev)))))))))) (trace "X" (__U03a3_))))))) (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" (lev))))) (trace "X" (__U03a3___U2081_))))))))))))))))) (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" (lev)))))))))) (trace "X" (__U03a3_))))))))))))))))) (trace "X" ((trace "X" ((eq_rect_r (trace "X" (__U03a3_)) (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" ((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" (lev))))) (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" (x1))))))))) (trace "X" (__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" (x1))))))))) (trace "X" (__U03a3_)))))))))))) (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" (lev)))))))))) (trace "X" (__U03a3_))))))))))))))))) (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" (lev)))))))))) (trace "X" (__U03a3_))))))))))))))))) (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" (lev))))) (trace "X" (__U03a3___U2081_))))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev)))))))))) (trace "X" (__U03a3_)))))))))))))))))))))) (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" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" (lev))))) (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" (ec)) (trace "X" (lev)))))))))) (trace "X" (__U03a3_)))))))))))))))))))) (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" (__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" (x1))))))))) (trace "X" (__U03a3_))))))))))))))))))))))) (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" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" (lev))))) (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" (ec)) (trace "X" (lev)))))))))) (trace "X" (__U03a3_)))))))))))))))))))) (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" (__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" (x1))))))))) (trace "X" (__U03a3_))))))))))))))))))))))) (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" (lev))))) (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" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" (lev))))) (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" (ec)) (trace "X" (lev)))))))))) (trace "X" (__U03a3_)))))))))))))))))))) (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" (__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" (x1))))))))) (trace "X" (__U03a3_))))))))))))))))))))))) (trace "X" (([]))) (trace "X" ((AuCanR (trace "X" ((trace "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" (lev))))) (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" ((trace "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" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" (lev))))) (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" (ec)) (trace "X" (lev)))))))))) (trace "X" (__U03a3_)))))))))))))))))))) (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" (__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" (x1))))))))) (trace "X" (__U03a3_))))))))))))))))))))))) (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" (lev))))) (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" ((mapTree (trace "X" ((\x1 -> (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x1 -> (trace "X" (()))))) (trace "X" (__U03a3_)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" (lev))))) (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" (ec)) (trace "X" (lev)))))))))) (trace "X" (__U03a3_)))))))))))))))))))) (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" (__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" (x1))))))))) (trace "X" (__U03a3_))))))))))))))))))))))) (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" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (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" (lev))))) (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" ((mapTree (trace "X" ((\x1 -> (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x1 -> (trace "X" (()))))) (trace "X" (__U03a3_)))))))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" (lev))))) (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" (ec)) (trace "X" (lev)))))))))) (trace "X" (__U03a3_)))))))))))))))))))) (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" (__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" (x1))))))))) (trace "X" (__U03a3_))))))))))))))))))))))) (trace "X" (([]))) (trace "X" ((ALeft (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" ((mapTree (trace "X" ((\x1 -> (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x1 -> (trace "X" (()))))) (trace "X" (__U03a3_))))))))))))))))) (trace "X" ((trace "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" (lev))))) (trace "X" (__U03a3___U2081_)))))))))))) (trace "X" ((trace "X" ((arrangeUnCancelEmptyTree (trace "X" ((trace "X" ((mapTree (trace "X" ((\x1 -> (trace "X" (()))))) (trace "X" (__U03a3_))))))) (trace "X" ((trace "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" ((mapTree (trace "X" ((\x1 -> (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x1 -> (trace "X" (()))))) (trace "X" (__U03a3_)))))))))))))))))))))))))))))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (ec)) (trace "X" (lev)))))))))) (trace "X" (__U03a3_))))))))))))))))}));
+ RVoid __U0393_0 __U0394_0 l ->
+ (trace "X" (case (trace "X" (l)) of {
+ ([]) -> (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" (([])))))))))))) (trace "X" ((RVoid (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (([]))))))));
+ (:) h2 l0 -> (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" (h2))))))))) (trace "X" (([]))) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing)))))))))}));
+ RAppT __U0393_0 __U0394_0 __U03a3_ __U03ba_ __U03c3_ __U03c4_ lev ->
+ (trace "X" (case (trace "X" (lev)) of {
+ ([]) -> (trace "X" ((trace "X" (eq_rect_r (trace "X" ((\_ -> (trace "X" ((trace "X" (haskTAll (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" ((\_ ite v -> (trace "X" ((trace "X" (flatten_rawtype (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (KindStar)) (trace "X" ((trace "X" ((__U03c3_ (trace "X" (__)) (trace "X" (ite)) (trace "X" (v))))))))))))))))))))) (trace "X" ((trace "X" ((eq_rect_r (trace "X" ((\_ -> (trace "X" ((trace "X" (substT (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (KindStar)) (trace "X" ((\_ ite v -> (trace "X" ((trace "X" (flatten_rawtype (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (KindStar)) (trace "X" ((trace "X" ((__U03c3_ (trace "X" (__)) (trace "X" (ite)) (trace "X" (v)))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (__U03c4_)))))))))))))))) (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" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (trace "X" (__U03a3_))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (haskTAll (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" ((\_ ite v -> (trace "X" ((trace "X" (flatten_rawtype (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (KindStar)) (trace "X" ((trace "X" ((__U03c3_ (trace "X" (__)) (trace "X" (ite)) (trace "X" (v))))))))))))))))))))))))))) (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" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (trace "X" (__U03a3_))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (substT (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (KindStar)) (trace "X" ((\_ ite v -> (trace "X" ((trace "X" (flatten_rawtype (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (KindStar)) (trace "X" ((trace "X" ((__U03c3_ (trace "X" (__)) (trace "X" (ite)) (trace "X" (v)))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (__U03c4_)))))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((RAppT (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (trace "X" (__U03a3_))))))) (trace "X" (__U03ba_)) (trace "X" ((\_ ite v -> (trace "X" ((trace "X" (flatten_rawtype (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (KindStar)) (trace "X" ((trace "X" ((__U03c3_ (trace "X" (__)) (trace "X" (ite)) (trace "X" (v)))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (__U03c4_))))))))) (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" ((\_ -> (trace "X" ((trace "X" (substT (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (KindStar)) (trace "X" (__U03c3_)) (trace "X" (__U03c4_))))))))))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (haskTAll (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (__U03c3_))))))))))))))))))));
+ (:) h2 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" ('t')) (trace "X" (((:) (trace "X" ('y')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('e')) (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" ('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" ('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" ('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" (((:) (trace "X" (';')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('h')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('s')) (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" ([])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))}));
+ RAbsT __U0393_0 __U0394_0 __U03a3_ __U03ba_ __U03c3_ lev n ->
+ (trace "X" (case (trace "X" (lev)) of {
+ ([]) -> (trace "X" ((trace "X" (eq_rect_r (trace "X" ((\_ -> (trace "X" ((trace "X" (haskTAll (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" ((\_ ite v -> (trace "X" ((trace "X" (flatten_rawtype (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (KindStar)) (trace "X" ((trace "X" ((__U03c3_ (trace "X" (__)) (trace "X" (ite)) (trace "X" (v))))))))))))))))))))) (trace "X" ((trace "X" ((eq_rect_r (trace "X" ((\_ -> (trace "X" ((trace "X" (haskTApp (trace "X" ((trace "X" ((list_ins (trace "X" (n)) (trace "X" (__U03ba_)) (trace "X" (__U0393_0))))))) (trace "X" (__U03ba_)) (trace "X" ((\_ -> (trace "X" ((trace "X" (weakF_ (trace "X" (__U0393_0)) (trace "X" (n)) (trace "X" (__U03ba_)) (trace "X" (KindStar)) (trace "X" ((\_ ite v -> (trace "X" ((trace "X" (flatten_rawtype (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (KindStar)) (trace "X" ((trace "X" ((__U03c3_ (trace "X" (__)) (trace "X" (ite)) (trace "X" (v))))))))))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (freshHaskTyVar_ (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (n)))))))))))))))) (trace "X" ((Nd_comp (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" ((trace "X" ((list_ins (trace "X" (n)) (trace "X" (__U03ba_)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((weakCE_ (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (n)) (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" ((trace "X" ((list_ins (trace "X" (n)) (trace "X" (__U03ba_)) (trace "X" (__U0393_0)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((weakLT_ (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (n)) (trace "X" (KindStar))))))) (trace "X" (__U03a3_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (haskTApp (trace "X" ((trace "X" ((list_ins (trace "X" (n)) (trace "X" (__U03ba_)) (trace "X" (__U0393_0))))))) (trace "X" (__U03ba_)) (trace "X" ((\_ -> (trace "X" ((trace "X" (weakF_ (trace "X" (__U0393_0)) (trace "X" (n)) (trace "X" (__U03ba_)) (trace "X" (KindStar)) (trace "X" ((\_ ite v -> (trace "X" ((trace "X" (flatten_rawtype (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (KindStar)) (trace "X" ((trace "X" ((__U03c3_ (trace "X" (__)) (trace "X" (ite)) (trace "X" (v))))))))))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (freshHaskTyVar_ (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (n)))))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" ((trace "X" ((list_ins (trace "X" (n)) (trace "X" (__U03ba_)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((weakCE_ (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (n)) (trace "X" (__U0394_0))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((weakLT_ (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (n)) (trace "X" (KindStar))))))) (trace "X" ((trace "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_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (haskTApp (trace "X" ((trace "X" ((list_ins (trace "X" (n)) (trace "X" (__U03ba_)) (trace "X" (__U0393_0))))))) (trace "X" (__U03ba_)) (trace "X" ((\_ -> (trace "X" ((trace "X" (weakF_ (trace "X" (__U0393_0)) (trace "X" (n)) (trace "X" (__U03ba_)) (trace "X" (KindStar)) (trace "X" ((\_ ite v -> (trace "X" ((trace "X" (flatten_rawtype (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (KindStar)) (trace "X" ((trace "X" ((__U03c3_ (trace "X" (__)) (trace "X" (ite)) (trace "X" (v))))))))))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (freshHaskTyVar_ (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (n)))))))))))))))))))))) (trace "X" ((trace "X" ((weakL_ (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (n)) (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_))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (haskTAll (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" ((\_ ite v -> (trace "X" ((trace "X" (flatten_rawtype (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (KindStar)) (trace "X" ((trace "X" ((__U03c3_ (trace "X" (__)) (trace "X" (ite)) (trace "X" (v))))))))))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((let {a = (trace "X" ((trace "X" (mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" ((trace "X" ((list_ins (trace "X" (n)) (trace "X" (__U03ba_)) (trace "X" (__U0393_0)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((weakLT_ (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (n)) (trace "X" (KindStar))))))) (trace "X" (__U03a3_)))))))))))} in (trace "X" (let {q' = (trace "X" ((trace "X" (mapOptionTree (trace "X" ((trace "X" ((weakLT_ (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (n)) (trace "X" (KindStar))))))) (trace "X" ((trace "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_)))))))))))} in (trace "X" ((trace "X" (eq_rect_r (trace "X" (q')) (trace "X" ((trace "X" ((nd_id (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" ((trace "X" ((list_ins (trace "X" (n)) (trace "X" (__U03ba_)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((weakCE_ (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (n)) (trace "X" (__U0394_0))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((weakLT_ (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (n)) (trace "X" (KindStar))))))) (trace "X" ((trace "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_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (haskTApp (trace "X" ((trace "X" ((list_ins (trace "X" (n)) (trace "X" (__U03ba_)) (trace "X" (__U0393_0))))))) (trace "X" (__U03ba_)) (trace "X" ((\_ -> (trace "X" ((trace "X" (weakF_ (trace "X" (__U0393_0)) (trace "X" (n)) (trace "X" (__U03ba_)) (trace "X" (KindStar)) (trace "X" ((\_ ite v -> (trace "X" ((trace "X" (flatten_rawtype (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (KindStar)) (trace "X" ((trace "X" ((__U03c3_ (trace "X" (__)) (trace "X" (ite)) (trace "X" (v))))))))))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (freshHaskTyVar_ (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (n)))))))))))))))))))))) (trace "X" (([]))))))))))))))))) (trace "X" (a))))))))))) (trace "X" ((Nd_rule (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkJudg (trace "X" ((trace "X" ((list_ins (trace "X" (n)) (trace "X" (__U03ba_)) (trace "X" (__U0393_0))))))) (trace "X" ((trace "X" ((weakCE_ (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (n)) (trace "X" (__U0394_0))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((weakLT_ (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (n)) (trace "X" (KindStar))))))) (trace "X" ((trace "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_)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (haskTApp (trace "X" ((trace "X" ((list_ins (trace "X" (n)) (trace "X" (__U03ba_)) (trace "X" (__U0393_0))))))) (trace "X" (__U03ba_)) (trace "X" ((\_ -> (trace "X" ((trace "X" (weakF_ (trace "X" (__U0393_0)) (trace "X" (n)) (trace "X" (__U03ba_)) (trace "X" (KindStar)) (trace "X" ((\_ ite v -> (trace "X" ((trace "X" (flatten_rawtype (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (KindStar)) (trace "X" ((trace "X" ((__U03c3_ (trace "X" (__)) (trace "X" (ite)) (trace "X" (v))))))))))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (freshHaskTyVar_ (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (n)))))))))))))))))))))) (trace "X" ((trace "X" ((weakL_ (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (n)) (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_))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (haskTAll (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" ((\_ ite v -> (trace "X" ((trace "X" (flatten_rawtype (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (KindStar)) (trace "X" ((trace "X" ((__U03c3_ (trace "X" (__)) (trace "X" (ite)) (trace "X" (v))))))))))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((RAbsT (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_))))))) (trace "X" (__U03ba_)) (trace "X" ((\_ ite v -> (trace "X" ((trace "X" (flatten_rawtype (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (KindStar)) (trace "X" ((trace "X" ((__U03c3_ (trace "X" (__)) (trace "X" (ite)) (trace "X" (v)))))))))))))) (trace "X" (([]))) (trace "X" (n))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" ((trace "X" ((list_ins (trace "X" (n)) (trace "X" (__U03ba_)) (trace "X" (__U0393_0))))))) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (haskTApp (trace "X" ((trace "X" ((list_ins (trace "X" (n)) (trace "X" (__U03ba_)) (trace "X" (__U0393_0))))))) (trace "X" (__U03ba_)) (trace "X" ((\_ -> (trace "X" ((trace "X" (weakF_ (trace "X" (__U0393_0)) (trace "X" (n)) (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" (n)))))))))))))))))))))))))))) (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (haskTAll (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (__U03c3_))))))))))))))))))));
+ (:) h2 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" ('t')) (trace "X" (((:) (trace "X" ('y')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('b')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('r')) (trace "X" (((:) (trace "X" ('a')) (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" ('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" (((:) (trace "X" (';')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('h')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('s')) (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" ([])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))}));
+ RAppCo __U0393_0 __U0394_0 __U03a3_ __U03ba_ __U03c3___U2081_ __U03c3___U2082_ __U03c3_ lev ->
+ (trace "X" (case (trace "X" (lev)) 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" ((trace "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_))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ ite -> (trace "X" (TCoerc (trace "X" (__U03ba_)) (trace "X" ((trace "X" ((flatten_rawtype (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U03ba_)) (trace "X" ((trace "X" ((__U03c3___U2081_ (trace "X" (__)) (trace "X" (ite)))))))))))) (trace "X" ((trace "X" ((flatten_rawtype (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U03ba_)) (trace "X" ((trace "X" ((__U03c3___U2082_ (trace "X" (__)) (trace "X" (ite)))))))))))) (trace "X" ((trace "X" ((flatten_rawtype (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (KindStar)) (trace "X" ((trace "X" ((__U03c3_ (trace "X" (__)) (trace "X" (ite))))))))))))))))))))))) (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_))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ ite -> (trace "X" ((trace "X" (flatten_rawtype (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (KindStar)) (trace "X" ((trace "X" ((__U03c3_ (trace "X" (__)) (trace "X" (ite)))))))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((RAppCo (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_))))))) (trace "X" (__U03ba_)) (trace "X" ((\_ env -> (trace "X" ((trace "X" (flatten_rawtype (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U03ba_)) (trace "X" ((trace "X" ((__U03c3___U2081_ (trace "X" (__)) (trace "X" (env)))))))))))))) (trace "X" ((\_ env -> (trace "X" ((trace "X" (flatten_rawtype (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U03ba_)) (trace "X" ((trace "X" ((__U03c3___U2082_ (trace "X" (__)) (trace "X" (env)))))))))))))) (trace "X" ((\_ ite -> (trace "X" ((trace "X" (flatten_rawtype (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (KindStar)) (trace "X" ((trace "X" ((__U03c3_ (trace "X" (__)) (trace "X" (ite)))))))))))))) (trace "X" (([]))))))));
+ (:) h2 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" ('c')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('r')) (trace "X" (((:) (trace "X" ('c')) (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" ('p')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('l')) (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" ('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" ('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" (((:) (trace "X" (';')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('h')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('s')) (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" ([])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))}));
+ RAbsCo __U0393_0 __U0394_0 __U03a3_ __U03ba_ __U03c3_ __U03c3___U2081_ __U03c3___U2082_ lev ->
+ (trace "X" (case (trace "X" (lev)) of {
+ ([]) -> (trace "X" ((trace "X" (Prelude.error (trace "X" (((:) (trace "X" ('A')) (trace "X" (((:) (trace "X" ('b')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('C')) (trace "X" (((:) (trace "X" ('o')) (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" ('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" ([])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
+ (:) h2 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" ('c')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('r')) (trace "X" (((:) (trace "X" ('c')) (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" ('b')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('r')) (trace "X" (((:) (trace "X" ('a')) (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" ('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" (((:) (trace "X" (';')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('h')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('s')) (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" ([])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))}));
+ RLetRec __U0393_0 __U0394_0 lri x1 y t ->
+ (trace "X" (case (trace "X" (t)) 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" ((trace "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" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" (y)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_leveled_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0))))))) (trace "X" (lri)))))))))) (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" (x2))))))))) (trace "X" (y))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (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" ((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" (lri))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (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" ((let {q = (trace "X" (RLetRec (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" (lri))))))) (trace "X" ((\_ -> (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" ((\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" (y))))))) (trace "X" (([])))))} in (trace "X" ((trace "X" (eq_rect (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (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" (x2))))))))) (trace "X" (y)))))))))))) (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" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (([])))))))) (trace "X" (y)))))))))))))))))))));
+ (:) h2 lev -> (trace "X" ((trace "X" (eq_rect_r (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (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" ((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" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (()))))) (trace "X" (y))))))))))))))))) (trace "X" ((trace "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" (h2)) (trace "X" (lev))))) (trace "X" (lri))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (h2))))))))) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (h2)) (trace "X" (lev))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h2)) (trace "X" (lev)))))))))) (trace "X" (y))))))))))))))))) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (h2)) (trace "X" (lev))))) (trace "X" (lri))))))))))))))) (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" (x2))))))))) (trace "X" (y))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (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" ((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" (h2)) (trace "X" (lev))))) (trace "X" (lri)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (h2))))))))) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (h2)) (trace "X" (lev))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h2)) (trace "X" (lev)))))))))) (trace "X" (y))))))))))))))))) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (h2)) (trace "X" (lev))))) (trace "X" (lri))))))))))))))) (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" (x2))))))))) (trace "X" (y))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (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" ((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" (h2)) (trace "X" (lev))))) (trace "X" (lri)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (h2))))))))) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (h2)) (trace "X" (lev))))) (trace "X" (lri)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (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" ((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" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (()))))) (trace "X" (y))))))))))))))))) (trace "X" ((trace "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" (h2)) (trace "X" (lev))))) (trace "X" (lri))))))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (h2))))))))) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (h2)) (trace "X" (lev))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h2)) (trace "X" (lev)))))))))) (trace "X" (y))))))))))))))))) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (h2)) (trace "X" (lev))))) (trace "X" (lri))))))))))))))) (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" (x2))))))))) (trace "X" (y))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (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" ((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" (h2)) (trace "X" (lev))))) (trace "X" (lri)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (h2))))))))) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (h2)) (trace "X" (lev))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h2)) (trace "X" (lev)))))))))) (trace "X" (y))))))))))))))))) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (h2)) (trace "X" (lev))))) (trace "X" (lri))))))))))))))) (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" (x2))))))))) (trace "X" (y))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (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" ((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" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (()))))) (trace "X" (y))))))))))))))))) (trace "X" ((trace "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" (h2)) (trace "X" (lev))))) (trace "X" (lri))))))))))))))) (trace "X" ((trace "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" (h2)) (trace "X" (lev))))) (trace "X" (lri)))))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (h2))))))))) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (h2)) (trace "X" (lev))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h2)) (trace "X" (lev)))))))))) (trace "X" (y))))))))))))))))) (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (h2)) (trace "X" (lev))))) (trace "X" (lri))))))))))))))) (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" (x2))))))))) (trace "X" (y))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (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" ((AComp (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" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (()))))) (trace "X" (y))))))))))))))))) (trace "X" ((trace "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" (h2)) (trace "X" (lev))))) (trace "X" (lri))))))))))))))) (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" (h2)) (trace "X" (lev))))) (trace "X" (lri))))))))))))))) (trace "X" ((trace "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" (h2)) (trace "X" (lev))))) (trace "X" (lri)))))))))))) (trace "X" ((ARight (trace "X" ((trace "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" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (()))))) (trace "X" (y))))))))))))))))) (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" (h2)) (trace "X" (lev))))) (trace "X" (lri)))))))))))) (trace "X" ((trace "X" ((arrangeCancelEmptyTree (trace "X" (y)) (trace "X" ((trace "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" ((mapTree (trace "X" ((\x2 -> (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapTree (trace "X" ((\x2 -> (trace "X" (()))))) (trace "X" (y))))))))))))))))))))))))) (trace "X" ((ACanL (trace "X" ((trace "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" (h2)) (trace "X" (lev))))) (trace "X" (lri)))))))))))))))))))))))) (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" (h2)) (trace "X" (lev)))))))))) (trace "X" (y))))))) (trace "X" ((let {lri' = (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" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (h2)) (trace "X" (lev))))) (trace "X" (lri)))))))))))} in (trace "X" (let {lri'' = (trace "X" ((trace "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" (h2)) (trace "X" (lev))))) (trace "X" (lri)))))))))))} in (trace "X" ((trace "X" (eq_rect (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" (y))))))) (trace "X" ((trace "X" ((boost (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (lri'')) (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (h2))))))))) (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" (x2))))))))) (trace "X" (y))))))) (trace "X" (lri'))))) (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" (x2))))))))) (trace "X" (y))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (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" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" ((\_ -> (trace "X" ((trace "X" (v2t (trace "X" (__U0393_0)) (trace "X" (h2))))))))) (trace "X" (lri')) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (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" ((trace "X" ((ga_loopl (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" (h2))))))))) (trace "X" (([]))) (trace "X" (lri')) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (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" ((\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" (y))))))))))))))))) (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" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h2)) (trace "X" (lev)))))))))) (trace "X" (y))))))))))))))))))))) (trace "X" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (h2)) (trace "X" (lev))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h2)) (trace "X" (lev)))))))))) (trace "X" (y)))))))))))))))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (h2)) (trace "X" (lev))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\t' -> (trace "X" (MkLeveledHaskType (trace "X" (t')) (trace "X" (((:) (trace "X" (h2)) (trace "X" (lev)))))))))) (trace "X" (y))))))))))))))))}));
+ RCase __U0393_0 __U0394_0 lev tc __U03a3_ avars tbranches alts ->
+ (trace "X" (case (trace "X" (lev)) of {
+ ([]) -> (trace "X" (Nd_rule (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_judgment (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 -> (trace "X" ((trace "X" (pcb_judg (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (([]))) (trace "X" (tbranches)) (trace "X" (avars)) (trace "X" ((trace "X" ((fst (trace "X" (x1))))))) (trace "X" ((trace "X" ((snd (trace "X" (x1)))))))))))))) (trace "X" (alts)))))))))))) (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_))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (caseType (trace "X" (__U0393_0)) (trace "X" (tc)) (trace "X" (avars)))))))))))))))))))))) (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" ((mapOptionTreeAndFlatten (trace "X" ((\x1 -> (trace "X" ((trace "X" (snd (trace "X" (x1))))))))) (trace "X" (alts)))))))))))) (trace "X" ((trace "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_)))))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (tbranches))))))))))))))) (trace "X" (([])))))))))))) (trace "X" ((trace "X" ((eq_rect (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 -> (trace "X" ((trace "X" (flatten_judgment (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" ((trace "X" ((pcb_judg (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (([]))) (trace "X" (tbranches)) (trace "X" (avars)) (trace "X" ((trace "X" ((fst (trace "X" (x1))))))) (trace "X" ((trace "X" ((snd (trace "X" (x1))))))))))))))))))) (trace "X" (alts))))))) (trace "X" ((trace "X" ((eq_rect (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 -> (trace "X" ((trace "X" (pcb_judg (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (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" (tbranches))))))))) (trace "X" (avars)) (trace "X" ((trace "X" ((fst (trace "X" (x1))))))) (trace "X" ((trace "X" ((snd (trace "X" (x1)))))))))))))) (trace "X" (alts))))))) (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_))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (caseType (trace "X" (__U0393_0)) (trace "X" (tc)) (trace "X" (avars))))))))))))))) (trace "X" (([]))))))))))))))) (trace "X" ((trace "X" ((eq_rect (trace "X" ((trace "X" ((mapOptionTreeAndFlatten (trace "X" ((\x1 -> (trace "X" ((trace "X" (snd (trace "X" (x1))))))))) (trace "X" (alts))))))) (trace "X" ((RCase (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (([]))) (trace "X" (tc)) (trace "X" ((trace "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_))))))) (trace "X" (avars)) (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" (tbranches))))))))) (trace "X" (alts))))) (trace "X" ((trace "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" ((mapOptionTreeAndFlatten (trace "X" ((\x1 -> (trace "X" ((trace "X" (snd (trace "X" (x1))))))))) (trace "X" (alts))))))))))))))))) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 -> (trace "X" ((trace "X" (flatten_judgment (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" ((trace "X" ((pcb_judg (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (([]))) (trace "X" (tbranches)) (trace "X" (avars)) (trace "X" ((trace "X" ((fst (trace "X" (x1))))))) (trace "X" ((trace "X" ((snd (trace "X" (x1))))))))))))))))))) (trace "X" (alts))))))) (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_))))))) (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((\_ -> (trace "X" ((trace "X" (flatten_type (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (__U0393_0)) (trace "X" (KindStar)) (trace "X" ((\_ -> (trace "X" ((trace "X" (caseType (trace "X" (__U0393_0)) (trace "X" (tc)) (trace "X" (avars)))))))))))))))))))))) (trace "X" (([])))))))))))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_judgment (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x1 -> (trace "X" ((trace "X" (pcb_judg (trace "X" (tc)) (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" (([]))) (trace "X" (tbranches)) (trace "X" (avars)) (trace "X" ((trace "X" ((fst (trace "X" (x1))))))) (trace "X" ((trace "X" ((snd (trace "X" (x1)))))))))))))) (trace "X" (alts)))))))))))))))))));
+ (:) h2 lev0 -> (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" ('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" ([]))))))))))))))))))))))))))))))))))))))))))))))))))))))}))}));
+ 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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((ALeft (trace "X" ((trace "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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((ACanR (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((AExch (trace "X" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((T_Leaf (trace "X" ((Prelude.Just (trace "X" ((MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((trace "X" ((mapOptionTree (trace "X" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((trace "X" ((mapOptionTree (trace "X" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((trace "X" ((mapOptionTree (trace "X" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((trace "X" ((mapOptionTree (trace "X" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((trace "X" ((mapOptionTree (trace "X" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((trace "X" ((mapOptionTree (trace "X" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((trace "X" ((mapOptionTree (trace "X" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((trace "X" ((mapOptionTree (trace "X" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((trace "X" ((mapOptionTree (trace "X" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((ACanL (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" ((trace "X" ((mapOptionTree (trace "X" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (trace "X" ((trace "X" ((drop_lev (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" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((trace "X" ((rLet (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (trace "X" ((trace "X" ((drop_lev (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" ((\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" ((trace "X" ((mapOptionTree (trace "X" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((trace "X" ((mapOptionTree (trace "X" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((trace "X" ((mapOptionTree (trace "X" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((ACanL (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "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" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((trace "X" ((mapOptionTree (trace "X" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((trace "X" ((mapOptionTree (trace "X" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((AuCanR (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "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" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((trace "X" ((mapOptionTree (trace "X" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((trace "X" ((mapOptionTree (trace "X" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((AuCanR (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((trace "X" ((take_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "X" (([])))))) (trace "X" (succ)))))))))))}));
+ Prelude.Right u -> (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" ((\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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((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" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((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" ((\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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((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" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((eq_rect (trace "X" ((trace "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" ((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" ((\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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((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" ((\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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((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" ((\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_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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (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" ((AExch (trace "X" ((trace "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" ((trace "X" ((ga_kappa (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" (([])))))) (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" ((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" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "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" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((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" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((AuCanR (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (trace "X" ((trace "X" ((drop_lev (trace "X" (__U0393_0)) (trace "X" (((:) (trace "X" (ec)) (trace "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" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((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" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((RArrange (trace "X" (__U0393_0)) (trace "X" (__U0394_0)) (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((AuCanR (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((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" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((ACanR (trace "X" ((T_Branch (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\_ -> (trace "X" ((trace "X" (ga_mk (trace "X" (unitTy)) (trace "X" (prodTy)) (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" ((ALeft (trace "X" ((T_Leaf (trace "X" (Prelude.Nothing))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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" ((\ht -> (trace "X" (MkLeveledHaskType (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" (ht))))))))) (trace "X" ((trace "X" ((getlev (trace "X" (__U0393_0)) (trace "X" (ht)))))))))))))) (trace "X" (([])))))))) (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))))))
+
+flatten_proof :: (Tree (Prelude.Maybe Judg)) -> (Tree (Prelude.Maybe Judg)) -> (ND Judg Rule) -> ND Judg Rule
+flatten_proof =
+ (trace "X" ((trace "X" (Prelude.error (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('r')) (trace "X" (((:) (trace "X" ('r')) (trace "X" (((:) (trace "X" ('y')) (trace "X" (((:) (trace "X" (',')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" ('-')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('k')) (trace "X" (((:) (trace "X" ('o')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('m')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('z')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('d')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('f')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('a')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" ('g')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('s')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" ('\'')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" (' ')) (trace "X" (((:) (trace "X" ('i')) (trace "X" (((:) (trace "X" ('m')) (trace "X" (((:) (trace "X" ('p')) (trace "X" (((:) (trace "X" ('l')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('m')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('n')) (trace "X" (((:) (trace "X" ('t')) (trace "X" (((:) (trace "X" ('e')) (trace "X" (((:) (trace "X" ('d')) (trace "X" ([]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+
+skolemize_and_flatten_proof :: (() -> (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
+skolemize_and_flatten_proof unitTy prodTy gaTy gar h c x =
+ (trace "X" ((trace "X" (eq_rect_r (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_judgment (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (skolemize_judgment)) (trace "X" (h)))))))))))) (trace "X" ((trace "X" ((eq_rect_r (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((trace "X" ((flatten_judgment (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (skolemize_judgment)) (trace "X" (c)))))))))))) (trace "X" ((trace "X" ((flatten_skolemized_proof (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" (gar)) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (skolemize_judgment)) (trace "X" (h))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" (skolemize_judgment)) (trace "X" (c))))))) (trace "X" ((trace "X" ((skolemize_proof (trace "X" (h)) (trace "X" (c)) (trace "X" (x)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 -> (trace "X" ((trace "X" (flatten_judgment (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" ((trace "X" ((skolemize_judgment (trace "X" (x0)))))))))))))) (trace "X" (c)))))))))))) (trace "X" ((trace "X" ((mapOptionTree (trace "X" ((\x0 -> (trace "X" ((trace "X" (flatten_judgment (trace "X" (unitTy)) (trace "X" (prodTy)) (trace "X" (gaTy)) (trace "X" ((trace "X" ((skolemize_judgment (trace "X" (x0)))))))))))))) (trace "X" (h)))))))))))
+