`std.concurrency.Generator` is public and `std.range.Generator` is private so surely these shouldn't conflict?
You would think so, but this is the way it has been since the beginning of D so I wouldn't expect the implementation to change any time soon. Just work around it with static+renamed imports or full name disambiguation.
https://issues.dlang.org/show_bug.cgi?id=1238
