let exists ?pos f = let v = variable Flexible () in let c = f (TVariable v) in ex ~pos:(pos_or_undef pos) [ v ] c