let get_value x = try H.find x with Not_found -> H.replace x Locked ; let value = try Data(C.compile x) with exn -> Error exn in H.replace x value ; value