let once key cc = try Hashtbl.find compiled key with Not_found -> let t = cc () in Hashtbl.add compiled key t ; t