Zero() and TwicePrecision

The fields of StepLenRange, like the fields of pretty much all other types in Base, and thoughout the julia ecosystem are not part of the public API for that type.
And the Base.TwicePrecision type is intentionally not part of the public API for Base.

This works fine if you use the same step accessor function.

julia> N = 10
10

julia> faces = range(start=0, stop=1, length=(N + 1))
0.0:0.1:1.0

julia> cells = range(start=(0 + step(faces)), step=step(faces), length=N)
0.1:0.1:1.0

The Base.TwicePrecision type is an implementation detail.
It’s intentionally very limitted and doesn’t subtype Number because things don’t work with it in general.

6 Likes