Keeping capacity is definitely better English, but it is a minor point since a collection doesn&#39;t have a keep and therefore no confusion. <br><br>On Wednesday, 3 February 2016, Radosław Pietruszewski &lt;<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>&gt; wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div><blockquote type="cite"><div><blockquote type="cite" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><blockquote type="cite"><br><blockquote type="cite">I&#39;m generally in favor of the proposed changes. I&#39;ll just note some<br>minor points and disagreements:<br><br>* Like I mentioned in my SE-0023 review, I would be OK with keeping<br>the &quot;Type&quot; suffix for protocols but have no strong preference.<br><br>* I&#39;m in favor of keeping `precondition()`. `require()` might be<br>easier to grasp at first but personally I really came to like<br>`precondition()`.<br>It fells both precise and I prefer the passive `precondition()` to the<br>active `require()` for this case. To me it fits the primary meaning<br>better; stating an API contract. The fact that the condition is<br>actively checked is secondary to that.<br><br>* I also agree with Radosław in that I prefer `removeAll(keepCapacity:<br>Bool)` to `removeAll(keepingCapacity: Bool)`.<br></blockquote><br>Why?<br><br>I had a hard time justifying &quot;keeping&quot; to myself for a while, but<br>eventually I realized that this pattern is less ambiguous, at least in<br>general, since many verbs are also nouns.  Okay, &quot;keeps&quot; haven&#39;t been<br>considered high-tech construction elements since the middle ages, but<br>it&#39;s easy to understand how you&#39;d be interested in the capacity of a<br>keep.<br></blockquote><br>Why not, though? adding `-ing`s in this context has all of the<br>problems -ed/-ing has with method names,<span> </span><br></blockquote><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">Which problems, sorry?</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"></div></blockquote><div><br></div><div>A bit of extra spelling gymnastics… Maybe I’m the only one bothered by this, but I’d just prefer a shorter/simpler name in absence of a compelling reason to do otherwise. (You did make an argument for why in a later post, fwiw. I’m not super compelled by it, but also don’t feel so strongly against the `ing` to argue further ;) )</div><br><blockquote type="cite"><div><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><blockquote type="cite" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">and none of the necessity of conveying mutability information.<br><br>What’s wrong with “keepCapacity” as a parameter name?<br></blockquote><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">It can be interpreted as denoting the capacity of the keep.</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"></div></blockquote><div><br></div><div>Wow, that… would have never crossed my mind ;)</div><br><blockquote type="cite"><div><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><blockquote type="cite" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><blockquote type="cite"><blockquote type="cite">* What is the rationale for moving `unsafeUnwrap` into Optional but<br>not `unsafeAddressOf` into AnyObject?<span> </span><br></blockquote><br>Language limitation: AnyObject can&#39;t be modified or extended.<br><br><blockquote type="cite">I can certainly see the safety argument against moving it but I don&#39;t<br>see how that would apply to `unsafeAddressOf` but not `unsafeUnwrap`?<br><br>* `EnumeratedSequence` and `Repeated` feel weird to me. They make<br>sense given the API guidelines and the previous `EnumerateSequence`<br>and `Repeat` were a bit clunky as well but these somehow feel a bit<br>worse... That might be wholly subjective though and I don&#39;t really<br>have a good suggestion. The only thing that came to mind was<br>`EnumerationSequence` and `Repetition` but I&#39;m not overly fond of<br>those either especially not to the point of deviating from the norm...<br></blockquote><br>Yes, they&#39;re a little clunky.  No, I don&#39;t have any better ideas either<br>:-)<br><br><blockquote type="cite">* This is not a disagreement but I&#39;d be interested in hearing the<br>reasons for replacing Generator(Type) with Iterator(Protocol) if<br>someone finds the time. I can speculate of course but it&#39;s probably<br>easier for someone to give me a short summary :-)<br></blockquote><br>I think these messages give all the details:<br><br><a href="http://news.gmane.org/find-root.php?message_id=m2h9i4gffx.fsf%40eno.apple.com" target="_blank">http://news.gmane.org/find-root.php?message_id=m2h9i4gffx.fsf%40eno.apple.com</a><br><a href="http://article.gmane.org/gmane.comp.lang.swift.evolution/5344" target="_blank">http://article.gmane.org/gmane.comp.lang.swift.evolution/5344</a><br><br><blockquote type="cite">* Typo:<span> </span><br><blockquote type="cite">+  public func take() -&gt; Memory // Should be Pointee<br></blockquote></blockquote><br>Nice, thanks.<br><br>--<span> </span><br>-Dave<br><br>_______________________________________________<br>swift-evolution mailing list<br><a href="javascript:_e(%7B%7D,&#39;cvml&#39;,&#39;swift-evolution@swift.org&#39;);" target="_blank">swift-evolution@swift.org</a><br><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br></blockquote><br>_______________________________________________<br>swift-evolution mailing list<br><a href="javascript:_e(%7B%7D,&#39;cvml&#39;,&#39;swift-evolution@swift.org&#39;);" target="_blank">swift-evolution@swift.org</a><br><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br></blockquote><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">--<span> </span></span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">-Dave</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">_______________________________________________</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">swift-evolution mailing list</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><a href="javascript:_e(%7B%7D,&#39;cvml&#39;,&#39;swift-evolution@swift.org&#39;);" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" target="_blank">swift-evolution@swift.org</a><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a></div></blockquote></div><br></div></blockquote><br><br>-- <br>  -- Howard.<br><br>