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: 
The indexOf method, used on an Array, that quite all languages have, allows to compare a value to several others, so i guess a special operator doesn't make much sense. 

In javascript that would write : 

```
if ( [b, c].indexOf(a) != -1 ) { ....  }

```
You ask why can't we do this: `if(a == b or c)`

Python does this very efficiently, in fact, most efficiently with `set`:

```
if a in set([b, c]):
    then_do_this()

```

For membership testing, 'set' checks that the element's hashes are the same and only then compares for equality, so the elements, b and c, must be hashable, otherwise a list directly compares for equality:

```
if a in [b, c]:
    then_do_this()

```