Question: Consider the following:

```
if(a == b or c)

```

In most languages, this would need to be written as:

```
if(a == b or a == c)

```

which is slightly cumbersome and repeats information. 

I know my above sample syntax is slightly clunky, but I am sure there are better ways to convey the idea.

Why don't more languages offer it? Is there performance or syntax issues?

Answer: 
Because it's a non-problem, and solving it brings basically zero benefit, but implementing it brings non-zero cost. 

Existing range-based functions and such that practically every language does offer can work perfectly well in this situation if it scales to a size where `a == b || a == c` won't cut it.
In most languages, this should be trivially achievable by writing an `In` function, so why make it a part of the actual language?

Linq, for example, has `Contains()`.

Alright, for all you pedants, here's my implementation in C#:

```
public static bool In<T>(this T obj, params T[] values)
{
    for(int i=0; i < values.Length; i++)
    {
        if (object.Equals(obj, values[i]))
            return true;
    }
    return false;
}

```