anchor.diff:        let inner_body = S.bv_to_name x in
         Util.abs inner_binders inner_body ret
       in
  -    Util.abs (S.binders_of_list [ a; t; x ]) outer_body ret in
  +    Util.abs (binders_of_list [ a, true; t, true; x, false ]) outer_body ret in
   
     (* val st2_app : #heap:Type -> #a:Type -> #t1:Type -> #t2:Type ->
                     l:st2_gctx heap a (t1 -> GTot t2) ->
  
positive.code:   let mk_gctx (a: S.term) (e: S.term): S.term =
      Util.arrow ([ S.null_binder (mk_post a) ] @ binders) (S.mk_GTotal e) 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:       in
        Util.abs inner_binders inner_body ret
      in
      Util.abs (binders_of_list [ a, true; t1, true; t2, true; l, false; r, false ]) outer_body ret in
  
    (* val st2_liftGA1 : #heap:Type -> #a:Type -> #t1:Type -> #t2:Type ->
                         f : (t1 -> GTot t2) ->
  