- let t = add_proj yv lenv (D.TCast (ww, vv)) in
-(*
- let lenv0 = D.set_layer C.start N.one lenv in
- let t = D.TCast (add_proj yw lenv0 ww, add_proj yv lenv vv) in
-*)
+ let t = if !G.cast then
+ let f e = D.TCast (add_proj yw e ww, add_proj yv lenv vv) in
+ if !G.infinity then f lenv else D.set_layer f N.one lenv
+ else
+ add_proj yv lenv (D.TCast (ww, vv))
+ in