anchor.diff:                          (Normalize.typ_norm_to_string env t)) in
       occurs_ok, msg
   
  +let occurs_and_freevars_check env uk fvs t = 
  +    let fvs_t = Util.freevars_typ t in
  +    let occurs_ok, msg = occurs_check env uk t in
  +    occurs_ok && Util.fvs_included fvs_t fvs
  +
   let occurs_check_e env ut e = 
       let uvs = Util.uvars_in_exp e in 
       let occurs_ok = not (Util.set_mem ut uvs.uvars_e) in
  
positive.code:            where t matches t' 
                if t head matches t'
                or t full matches t'
              
   *)
  type match_result = 
    | MisMatch
    | HeadMatch
  
negative.code: open Microsoft.FStar.Tc.Normalize
  open Microsoft.FStar.Absyn.Syntax
  
  
  
  //////////////////////////////////////////////////////////////////////////
  //Making substitutions for alpha-renaming 
  //////////////////////////////////////////////////////////////////////////
  let mk_subst_binder b1 b2 s = 
      if is_null_binder b1 || is_null_binder b2 then s
      else match fst b1, fst b2 with 
          | Inl a, Inl b -> 
  