anchor.diff:  module U = FStar.Syntax.Util
   module Print = FStar.Syntax.Print
   module Ident = FStar.Ident
  -
  -//TODO:figure out why I need to annotate Data. everywhere.
  -// might be due to the fsproj hack
   
   (* These file provides implementation for reflection primitives in F*.
    * 
  
positive.code:     | _ ->
        failwith (BU.format1 "Not an embedded list: %s" (Print.term_to_string l))
  
  let embed_binders l = embed_list embed_binder Data.fstar_refl_binder l
  let unembed_binders t = unembed_list unembed_binder t
  
  let embed_term (t:term) : term =
      protect_embedded_term Data.fstar_refl_term t
  
  let unembed_term (t:term) : term =
      un_protect_embedded_term t
  
negative.code:    | _ -> failwith "Not an embedded option"
  
  let embed_fvar (fv:fv) : term =
      protect_embedded_term fstar_refl_fvar (S.fv_to_tm fv)
  
  let unembed_fvar (t:term) : fv =
      let t = un_protect_embedded_term t in
  