anchor.diff:    vaApp "Block" [build_code_stmts env benv stmts]
   
   (* Build codegen_success value for body of procedure Q *)
  -let build_codegen_success_stmt (env:env) (s:stmt):exp option list =
  +let build_codegen_success_stmt (q:id) (env:env) (s:stmt):exp option list =
     let rec merge (xs:exp option list) : exp option =
       match xs with
       | [] -> None
  
positive.code:         fret_name = None;
          fret = tPbool;
          fspecs = [];
          fbody = Some (build_codegen_success_stmts env stmts);
          fattrs =
            if benv.is_quick then
              [(Id "opaque_to_smt", []); (Id "public_decl", []); (Id "qattr", [])] @ attrs @ attr_no_verify "admit" benv.proc.pattrs
  
negative.code:   let rec aux (e:exp) (xs:exp option list) : exp option =
      match e with
      | ELoc (_, e) -> aux e xs
      | EApply (e, _, es, _) when is_id e && is_proc env (id_of_exp e) NotGhost && q <> (id_of_exp e) ->
        (* REVIEW: We assume correct generation upon recursion *)
        let x = string_of_id (id_of_exp e) in
        let es = List.filter (fun e -> match e with EOp (Uop UGhostOnly, _, _) -> false | _ -> true) es in
        let es = List.map get_code_exp es in
  