let add_global_binding_to_env ~env id sclass ~is_tentative ty = 
  (* TODO: alpha conversion for ModuleStatic *)
  let gb = { gbind_type = ty; gbind_storage_class = sclass;
           gbind_is_tentative = is_tentative } in
  (* TODO: duplicate check *)
  env.global_binding <- (id, gb) :: env.global_binding;
  id