let exists_set ?pos names f =
  let l, m = variable_set (const (FlexibleNone)) names in
  ex ~pos:(pos_or_undef pos) l (f m)