anchor.diff:      let ret = Some (Inl (Util.lcomp_of_comp (mk_Total (mk_gctx (S.bv_to_name t2))))) in
       let outer_body =
         let gamma = mk_gamma () in
  -      let gamma_as_args = List.map (fun bv -> S.as_arg (S.bv_to_name bv)) gamma in
  +      let gamma_as_args = args_of_bv gamma in
         let inner_body =
           Util.mk_app
             (S.bv_to_name l)
  
positive.code: 
    let implicit_binders_of_list = List.map (fun t -> t, S.as_implicit true) in
  
    (* val st2_pure : #heap:Type -> #a:Type -> #t:Type -> x:t ->
         Tot (st2_ctx heap a t)
       let st2_pure #heap #a #t x = fun _post _h -> x *)
  
negative.code:     | NotForFree ->
          ed
      | ForFree ->
          let
            wp_if_then_else,
            wp_binop,
            wp_assert,
            wp_assume,
            wp_close
          = gen_wps_for_free env binders a wp_a in
          { ed with
            if_then_else = wp_if_then_else;
            wp_binop = wp_binop;
            assert_p = wp_assert;
            assume_p = wp_assume;
            close_wp = wp_close
          }
    in
  
  