<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Jan 10, 2018, at 1:52 AM, Ian Partridge &lt;<a href="mailto:ian@poncho.org.uk" class="">ian@poncho.org.uk</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">On 10 January 2018 at 06:29, Chris Lattner via swift-evolution<br class="">&lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt; wrote:<br class=""><blockquote type="cite" class="">Ok, I understand that (among all the other things going on that are clearly more important) revamping<br class="">this is probably not the highest priority thing to do. &nbsp;That said, it would be really unfortunate to carry<br class="">around these “suboptimal” APIs forever, particularly given how marginal they are (as in, not widely used).<br class=""></blockquote><br class="">It's true that they are not widely used, but they are in use. &nbsp;For<br class="">example IBM's SQL abstraction library called "Kuery" depends on<br class="">Mirror.<br class=""><br class=""><a href="https://github.com/IBM-Swift/Swift-Kuery/blob/1d05ad6435cf7fa5feebba663bd3f765c72634e1/Sources/SwiftKuery/Table.swift#L42" class="">https://github.com/IBM-Swift/Swift-Kuery/blob/1d05ad6435cf7fa5feebba663bd3f765c72634e1/Sources/SwiftKuery/Table.swift#L42</a><br class=""></div></div></blockquote></div><br class=""><div class="">Right. &nbsp;That’s exactly the reason we don’t want to remove them outright (that would be a major source breakage). &nbsp;Moving them to a separate module solves this concern and allows a better implementation to come in and be standardized later.</div><div class=""><br class=""></div><div class="">-Chris</div><div class=""><br class=""></div></body></html>