... in other words, it's perfectly normal in rust to have foo re-exporting foo_x and foo_y as an umbrella, and rightfully expecting that users will not deal with foo_x and foo_y directly (and if they do and run into issues, e.g., around macros) it's just a not supported use case).