let link_vtable_to_db = fun vtable ->
    let db = vtable.vt_db in
      List.iter
        (fun vt -> assert (vt != vtable); (* Physical eq *)
           if vtable.vt_name = vt.vt_name then
             raise (Duplicated_name vtable.vt_name))
        db.db_vtables;
      db.db_vtables <- db.db_vtables @ [vtable]