let make =
    let table = Name.Hash.create 17 in
    let _ =  Tools.add_at_reset (fun () -> Name.Hash.clear table) in
      fun n ->
        try
          Name.Hash.find table n
        with
            Not_found ->
              let hsh = genidx() in
              let f = (Uninterp(n), hsh) in
                Name.Hash.add table n f; f