let fold (f : '-> '-> 'a) (s: 'e hashset) (a : 'a) =
  Hashtbl.fold (fun e _ acc -> f e acc) s a