# Re: Collapsing Junction states?

```HaloO,

Leon Timmermans wrote:
```
```But of what use would one() if it were to use those semantics? It
would be essentially the same as any(), and it would definitely not
DWIM.
```
```
So you want one(1,1,2,3) to compare equal to 2 or 3 and exclude 1
because it is in the junction twice. That could be accomplished
by not putting it in at all, as well. So the unification step of
a one() junction drops duplicates completely?

I see your point because the uniqueness test all(@array) == one(@array)
always returns true if the junctions are unified before the comparison
takes place. So the only way out is to make the definition that a one()
junction drops duplicates completely.

My personal favorite use of one() junctions would be in types.
A Dog^Cat is either a Dog or a Cat but never something that
does a combined role. But we don't have that in the language.
Instead we have Dog|Cat and the juxtaposition Dog Cat.

Regards, TSa.
--

"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not precede complexity, but follows it." -- A.J. Perlis
1 + 2 + 3 + 4 + ... = -1/12  -- Srinivasa Ramanujan
```