anchor.diff:              | None -> branch_guard
               | Some w -> Util.mk_conj branch_guard w in
   
  -          branch_guard 
  +          branch_guard
     in
   
     let guard = Rel.conj_guard g_when g_branch in
  
positive.code:   (*                                                                                                    *)
    (* (d) Strengthen 6 (c) with the when condition, if there is one                                      *)
    let branch_guard =
        if not (Env.should_verify env) 
        then Util.t_true 
        else (* 6 (a) *)
            let rec build_branch_guard scrutinee_tm pat_exp : list<typ> =
              let discriminate scrutinee_tm f =
  
negative.code:              then TcUtil.fvar_const env Const.true_lid //if we're not verifying, then don't even bother building it
               else let t = Util.mk_conj_l <| build_branch_guard scrutinee_tm pat in
                    let k, _ = U.type_u() in
                    let t, _, _ = tc_check_tot_or_gtot_term scrutinee_env t k in //NS: discarding the guard here means that the VC is not fully type-checked and may contain unresolved unification variables, e.g. FIXME!
                    t in
  
            (* 6 (c) *)
  