let get r = try Hashtbl.find cache r with Not_found -> let cache_entry = empty () in Hashtbl.add cache r cache_entry; cache_entry