anchor.diff:      let f = S.gen_bv "f" None t_f in
       let body =
         U.mk_app c_app (List.map S.as_arg [
  -        U.mk_app c_pure (List.map S.as_arg [ tforall ]);
  +        U.mk_app c_pure (List.map S.as_arg [ U.tforall ]);
           U.mk_app c_push (List.map S.as_arg [ S.bv_to_name f ])])
       in
       U.abs (S.binders_of_list [ a; b; f ]) body ret_tot_wp_a
  
positive.code:     let wp1 = S.gen_bv "wp1" None wp_a in
      let wp2 = S.gen_bv "wp2" None wp_a in
      let body = mk_leq wp_a (S.bv_to_name wp1) (S.bv_to_name wp2) in
      U.abs (S.binders_of_list [ wp1; wp2 ]) body ret_tot_type0
    in
    check env "stronger" (U.abs (binders @ [ S.mk_binder a ]) stronger None);
  
    let null_wp = snd ed.null_wp in
  
  
negative.code:   in
    check env "wp_assume" (U.abs binders wp_assume None);
  
    (* val st2_close_wp : heap:Type -> a:Type -> b:Type ->
                          f:(b->Tot (st2_wp heap a)) ->
                          Tot (st2_wp heap a)
  