anchor.diff:  
   let emptyContext : context = {tyVars=[]; tyConstants =[]}
   
  -(*is there an F# library of associative lists?*)
  +(*is there an F# library of associative lists? yes, Microsoft.FStar.Util.smap*)
   let contains (c:context) (b:btvar) = List.contains b.v.ppname (*why not ppname?*) c.tyVars
   
   let deltaUnfold (i : lident) (c: context) : (option<typ>) = None (*FIX!!*)
  
positive.code:             (match  (isTypeScheme ftv.v c)  with
               | true -> 
                   let mlargs = List.map (getTypeFromArg c) arrgs in
                      (MLTY_App ( MLTY_Named ([ (* FIX!! *)],(lident2mlpath ftv.v)) , MLTY_Tuple mlargs))
               | false -> 
                   (match  (deltaUnfold ftv.v c) with
                   | Some tyu ->  extractTyp c tyu
  
negative.code: let unknownType : mlty = MLTY_Var  ("Obj.t", 0)
  
  let convRange (r:Range.range) : int = 0 (*FIX!!*)
  let convIdent (id:ident) : mlident = (id.idText ,(convRange id.idRange))
      
  (* This is all the context is needed for extracting F* types to OCaml.
     In particular, the definition of a type constant is not needed when translating references to it.
  