+weakITE_ :: TypeEnv -> Kind -> Nat -> (InstantiatedTypeEnv a1) -> InstantiatedTypeEnv a1
+weakITE_ __U0393_0 __U03ba_ n ite =
+ (trace "X" (let {ite0 = (trace "X" ((trace "X" (eq_rect (trace "X" ((trace "X" ((list_ins (trace "X" (n)) (trace "X" (__U03ba_)) (trace "X" (__U0393_0))))))) (trace "X" (ite)) (trace "X" ((trace "X" ((app (trace "X" ((trace "X" ((list_take (trace "X" (__U0393_0)) (trace "X" (n))))))) (trace "X" (((:) (trace "X" (__U03ba_)) (trace "X" ((trace "X" ((list_drop (trace "X" (__U0393_0)) (trace "X" (n)))))))))))))))))))} in
+ (trace "X" (let {ite' = (trace "X" ((trace "X" (weakITE' (trace "X" (((:) (trace "X" (__U03ba_)) (trace "X" ((trace "X" ((list_drop (trace "X" (__U0393_0)) (trace "X" (n)))))))))) (trace "X" ((trace "X" ((list_take (trace "X" (__U0393_0)) (trace "X" (n))))))) (trace "X" (ite0))))))} in
+ (trace "X" (let {a = (trace "X" ((trace "X" (ilist_chop (trace "X" ((trace "X" ((list_take (trace "X" (__U0393_0)) (trace "X" (n))))))) (trace "X" (((:) (trace "X" (__U03ba_)) (trace "X" ((trace "X" ((list_drop (trace "X" (__U0393_0)) (trace "X" (n)))))))))) (trace "X" (ite0))))))} in
+ (trace "X" ((trace "X" (eq_rect (trace "X" ((trace "X" ((app (trace "X" ((trace "X" ((list_take (trace "X" (__U0393_0)) (trace "X" (n))))))) (trace "X" ((trace "X" ((list_drop (trace "X" (__U0393_0)) (trace "X" (n))))))))))))
+ (trace "X" ((trace "X" ((ilist_app (trace "X" ((trace "X" ((list_take (trace "X" (__U0393_0)) (trace "X" (n))))))) (trace "X" (a)) (trace "X" ((trace "X" ((list_drop (trace "X" (__U0393_0)) (trace "X" (n)))))))
+ (trace "X" ((case (trace "X" (ite')) of {
+ INil -> (trace "X" (false_rect));
+ ICons i is x x0 -> (trace "X" ((trace "X" (eq_rect (trace "X" (__U03ba_)) (trace "X" ((\_ -> (trace "X" ((trace "X" (eq_rect (trace "X" ((trace "X" ((list_drop (trace "X" (__U0393_0)) (trace "X" (n))))))) (trace "X" ((\x1 x2 -> (trace "X" (x2))))) (trace "X" (is))))))))) (trace "X" (i)) (trace "X" (__)) (trace "X" (x)) (trace "X" (x0))))))})))))))) (trace "X" (__U0393_0))))))))))))
+
+weakV_ :: TypeEnv -> Kind -> Nat -> Kind -> HaskTyVar -> (InstantiatedTypeEnv a1) -> a1
+weakV_ __U0393_0 __U03ba_ n __U03ba_v cv' env =
+ (trace "X" ((trace "X" (unsafeCoerce (trace "X" (cv')) (trace "X" (__)) (trace "X" ((trace "X" ((weakITE_ (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (n)) (trace "X" (env)))))))))))
+
+weakT_ :: TypeEnv -> Kind -> Nat -> Kind -> HaskType -> (InstantiatedTypeEnv a1) -> RawHaskType a1
+weakT_ __U0393_0 __U03ba_ n __U03ba___U2082_ lt x =
+ (trace "X" ((trace "X" (unsafeCoerce (trace "X" (lt)) (trace "X" (__)) (trace "X" ((trace "X" ((weakITE_ (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (n)) (trace "X" (x)))))))))))
+
+weakL_ :: TypeEnv -> Kind -> Nat -> HaskLevel -> HaskLevel
+weakL_ __U0393_0 __U03ba_ n lev =
+ (trace "X" ((trace "X" (map (trace "X" ((\x _ -> (trace "X" ((trace "X" (weakV_ (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (n)) (trace "X" (eCKind)) (trace "X" (x))))))))) (trace "X" (lev))))))
+
+weakLT_ :: TypeEnv -> Kind -> Nat -> Kind -> LeveledHaskType -> LeveledHaskType
+weakLT_ __U0393_0 __U03ba_ n __U03ba___U2082_ lt =
+ (trace "X" (case (trace "X" (lt)) of {
+ MkLeveledHaskType t l -> (trace "X" (MkLeveledHaskType (trace "X" ((\_ -> (trace "X" ((trace "X" (weakT_ (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (n)) (trace "X" (__U03ba___U2082_)) (trace "X" (t))))))))) (trace "X" ((trace "X" ((weakL_ (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (n)) (trace "X" (l)))))))))}))
+
+weakCK_ :: TypeEnv -> Kind -> Nat -> HaskCoercionKind -> (InstantiatedTypeEnv a1) -> RawCoercionKind a1
+weakCK_ __U0393_0 __U03ba_ n hck x =
+ (trace "X" ((trace "X" (unsafeCoerce (trace "X" (hck)) (trace "X" (__)) (trace "X" ((trace "X" ((weakITE_ (trace "X" (__U0393_0)) (trace "X" (__U03ba_)) (trace "X" (n)) (trace "X" (x)))))))))))