Non-Darwin platforms don't have two-level namespaces and so if there is another version of ICU (including one supplied by the system vendor), that can get linked instead of the Foundation copy, and sadness ensues.
We need to use the ICU support for renaming its symbols. I understand this may cause difficulty because of Swift's importer not being able to cope with macros, but that doesn't change the fact that we need to do this.