let update ?(replace=false) (h1:('a,'b) t) (h2:('a,'b) t) : unit = 
  (if replace then Hashtbl.iter (fun x y ->h1#remove x) (h2#get)) ;
  Hashtbl.iter (h1#add) (h2#get)