Hi, I was reading `base/number.jl`

, and I was wondering about the rationale of

```
start(x::Number) = false
next(x::Number, state) = (x, true)
done(x::Number, state) = state
isempty(x::Number) = false
in(x::Number, y::Number) = x == y
```

which makes numbers single-element collections.

- Where could I learn more about the rationale?
- Why restrict to numbers?