anchor.diff:      end
     | Some x -> x
   
  -let prepend_output_dir fname = 
  +let prepend_output_dir fname =
     match get_odir() with
     | None -> fname
     | Some x -> x ^ "/" ^ fname
  
positive.code:     | Some x -> x
  
  let set_options o s =
      let specs = match o with 
          | Set -> if get_universes() then resettable_specs else settable_specs
          | Reset -> resettable_specs
          | Restore -> all_specs in
      Getopt.parse_string specs (fun _ -> ()) s
  
  let parse_cmd_line () = 
    let file_list = Util.mk_ref [] in
    let res = Getopt.parse_cmdline (specs()) (fun i -> file_list := !file_list @ [i]) in
    res, !file_list
  
negative.code: let as_option as_t = function
    | Unset -> None
    | v -> Some (as_t v)
  
  let fstar_options : ref<list<Util.smap<option_val>>> = Util.mk_ref []
  let peek () = List.hd !fstar_options
  let pop  () = match !fstar_options with
      | []
      | [_] -> failwith "TOO MANY POPS!"
      | _::tl -> fstar_options := tl
  