let add_local_binding_to_env ~env id sclass ty = 
  incr var_seqno;
  let nid = id ^ "_" ^ string_of_int !var_seqno in
  let lb = { lbind_type = ty; lbind_storage_class = sclass; lbind_new_name = nid } in
  let local_frame, lower_frame = List.hd env.local_binding, List.tl env.local_binding in
  let local_frame = (id, lb) :: local_frame in (* TODO: duplicate check *)
  env.local_binding <- local_frame :: lower_frame;
  nid