+(*
+(*BUG: Here we use eq_rect_Type0 in its poly-kinded form, but we only extracted
+ the one-kinded form. Require coercions *)
+definition cast_bug1' ≝
+ λH:eq Type[0] bool nat. S (eq_rect_Type0 Type[0] bool (λA:Type[0].λ_.A) true nat H).
+*)
+
+(* requires coercion in all branches *)