anchor.diff:      in
       let unembed_exn cb (t:NBET.t) : option<exn> =
           match t with
  -        | NBETerm.Construct (fv, _, [(s, _)]) when S.fv_eq_lid fv fstar_tactics_TacticFailure_lid ->
  +        | NBETerm.Construct (fv, _, [(s, _)]) when S.fv_eq_lid fv fstar_tactics_TacticFailure.lid ->
               BU.bind_opt (NBETerm.unembed NBETerm.e_string cb s) (fun s ->
               Some (TacticFailure s))
   
  
positive.code:                 Err.log_issue t.pos (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded goal: %s" (Print.term_to_string t)));
              None
      in
      mk_emb embed_goal unembed_goal t_goal
  
  let unfold_lazy_goal (i : lazyinfo) : term =
      U.exp_string "(((goal)))"
  
negative.code:     in
      { NBETerm.em = embed_direction
      ; NBETerm.un = unembed_direction
      ; NBETerm.typ = mkFV fstar_tactics_direction.fv [] []
      ; NBETerm.emb_typ = fv_as_emb_typ fstar_tactics_direction.fv}
  
  let e_ctrl_flag =
      let embed_ctrl_flag (rng:Range.range) (d : ctrl_flag) : term =
          match d with
          | Continue -> fstar_tactics_Continue.t
          | Skip     -> fstar_tactics_Skip.t
          | Abort    -> fstar_tactics_Abort.t
      in
      let unembed_ctrl_flag w (t : term) : option<ctrl_flag> =
          match (SS.compress t).n with
          | Tm_fvar fv when S.fv_eq_lid fv fstar_tactics_Continue.lid -> Some Continue
          | Tm_fvar fv when S.fv_eq_lid fv fstar_tactics_Skip.lid     -> Some Skip
          | Tm_fvar fv when S.fv_eq_lid fv fstar_tactics_Abort.lid    -> Some Abort
          | _ ->
              if w then
                  Err.log_issue t.pos (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded ctrl_flag: %s" (Print.term_to_string t)));
              None
      in
      mk_emb embed_ctrl_flag unembed_ctrl_flag fstar_tactics_ctrl_flag.t
  
  let e_ctrl_flag_nbe  =
      let embed_ctrl_flag cb (res:ctrl_flag) : NBET.t =
          match res with
          | Continue -> mkConstruct fstar_tactics_Continue.fv [] []
          | Skip     -> mkConstruct fstar_tactics_Skip.fv [] []
          | Abort    -> mkConstruct fstar_tactics_Abort.fv [] []
      in
      let unembed_ctrl_flag cb (t:NBET.t) : option<ctrl_flag> =
          match t with
          | NBETerm.Construct (fv, _, []) when S.fv_eq_lid fv fstar_tactics_Continue.lid  -> Some Continue
          | NBETerm.Construct (fv, _, []) when S.fv_eq_lid fv fstar_tactics_Skip.lid  -> Some Skip
          | NBETerm.Construct (fv, _, []) when S.fv_eq_lid fv fstar_tactics_Abort.lid -> Some Abort
          | _ ->
            if !Options.debug_embedding then
              Err.log_issue Range.dummyRange (Err.Warning_NotEmbedded, (BU.format1 "Not an embedded ctrl_flag: %s" (NBETerm.t_to_string t)));
  