let assign_coerce ?check_qual ?struct_allowed e1 t = 
  let e1 = assign_coerce ?check_qual ?struct_allowed e1 t in
  try
    fold_constants e1
  with
    NotConstant -> e1