Min zooms for railways don't make sense
The description to railway=rail in the streets layer says
ways with service=* on zoom level 8+, other ways on zoom level 10+
For railways service is yard, spur, siding, or crossover. These are less important than ways without a service tag, and styles like osm-carto render them as less significant. To include them on z8 before the main lines seems like an obvious error that the 8 and 10 got flipped.
cc @Nakaner
The documentation is wrong. The Tilemaker implementation writes all railway tracks on zoom level 10+ but railway=rail/narrow_gauge without service=* on zoom level 8+.
Writing unimportant features on lower zoom levels than important features would not make sense.