method add_new_spec_type = fun db ty ->
    let row = ref None in
      tyopts_store#foreach
        (fun path iter ->
           let (db', _) = tyopts_store#get_data ~row:iter in
             if db = db' then begin
               row := Some (tyopts_store#get_row_reference path);
               true
             end else
               false);
      match !row with
        | Some r ->
            tyopts_store#set_data (db, ty) ~row:r#iter
        | None   ->
            tyopts_store#prepend_data (db, ty)