<div dir="ltr">On Mon, Dec 26, 2016 at 1:10 AM, Daniel Leping <span dir="ltr">&lt;<a href="mailto:daniel@crossroadlabs.xyz" target="_blank">daniel@crossroadlabs.xyz</a>&gt;</span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div>I&#39;m giving a wider range, which is about ANY factory pattern related stuff. Doesn&#39;t look to be narrow to me.</div></blockquote><div><br></div><div>I thought factory methods were regarded as undesirable in Swift? One of the stated reasons for failable initializers was: &quot;Failable initializers eliminate the most common reason for factory methods in Swift... Using the failable initializer allows greater use of Swift’s uniform construction syntax, which simplifies the language by eliminating the confusion and duplication between initializers and factory methods.&quot; &lt;<a href="https://developer.apple.com/swift/blog/?id=17">https://developer.apple.com/swift/blog/?id=17</a>&gt;</div><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div><div class="gmail_quote"><div>On Mon, 26 Dec 2016 at 11:38 Xiaodi Wu &lt;<a href="mailto:xiaodi.wu@gmail.com" target="_blank">xiaodi.wu@gmail.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div class="gmail-m_-86933029731195158gmail_msg">On Mon, Dec 26, 2016 at 12:58 AM, Daniel Leping <span class="gmail-m_-86933029731195158gmail_msg">&lt;<a href="mailto:daniel@crossroadlabs.xyz" class="gmail-m_-86933029731195158gmail_msg" target="_blank">daniel@crossroadlabs.xyz</a>&gt;</span> wrote:<br class="gmail-m_-86933029731195158gmail_msg"></div><div class="gmail-m_-86933029731195158gmail_msg"><div class="gmail_extra gmail-m_-86933029731195158gmail_msg"><div class="gmail_quote gmail-m_-86933029731195158gmail_msg"><blockquote class="gmail_quote gmail-m_-86933029731195158gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div class="gmail-m_-86933029731195158gmail_msg">Well, reflection is a huge performance drop. Protocol conformance is way better.</div></blockquote><div class="gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158gmail_msg"></div></div></div></div><div class="gmail-m_-86933029731195158gmail_msg"><div class="gmail_extra gmail-m_-86933029731195158gmail_msg"><div class="gmail_quote gmail-m_-86933029731195158gmail_msg"><div class="gmail-m_-86933029731195158gmail_msg">I&#39;m not sure how huge it would be in the grand scheme of things; in your example, you are still evaluating a train of protocol conformances and casting at runtime. Of course, compiler magic can be fast, but I still don&#39;t see how this is a &quot;very common use case&quot; (as you write) that would justify magic equivalent to that for Objective-C bridging, which is what you&#39;re saying it should be. If `DefaultConstructible` is useful only when it&#39;s magic and the specific use case is dependency injection/inversion of control, then we&#39;re getting very specialized here.</div></div></div></div><div class="gmail-m_-86933029731195158gmail_msg"><div class="gmail_extra gmail-m_-86933029731195158gmail_msg"><div class="gmail_quote gmail-m_-86933029731195158gmail_msg"><div class="gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158gmail_msg"></div><div class="gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158gmail_msg"></div><blockquote class="gmail_quote gmail-m_-86933029731195158gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div class="gmail-m_-86933029731195158gmail_msg"><div class="gmail_quote gmail-m_-86933029731195158gmail_msg"><div class="gmail-m_-86933029731195158gmail_msg">On Mon, 26 Dec 2016 at 11:26 Xiaodi Wu &lt;<a href="mailto:xiaodi.wu@gmail.com" class="gmail-m_-86933029731195158gmail_msg" target="_blank">xiaodi.wu@gmail.com</a>&gt; wrote:<br class="gmail-m_-86933029731195158gmail_msg"></div><blockquote class="gmail_quote gmail-m_-86933029731195158gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">On Mon, Dec 26, 2016 at 12:50 AM, Daniel Leping <span class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&lt;<a href="mailto:daniel@crossroadlabs.xyz" class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg" target="_blank">daniel@crossroadlabs.xyz</a>&gt;</span> wrote:<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"></div><div class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><div class="gmail_extra gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><div class="gmail_quote gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><blockquote class="gmail_quote gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">I&#39;m not arguing for implicit conformance in general, but I&#39;m telling that DefaultConstructable is the same basic level as AnyObject, which is conformed implicitly.</div><div class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"></div><div class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">Shortly, I&#39;m against implicit conformance in general. I&#39;m positive with &quot;automatic compiler magic&quot; conformance to DefaultConstructable for any object having a default constructor as it really is a very basic stuff. Otherwise you will have to add explicit conformance to it in almost every class of yours (annoying).</div></blockquote><div class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"></div></div></div></div><div class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><div class="gmail_extra gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><div class="gmail_quote gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><div class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">Well, this sounds very different from Adam&#39;s proposal, where he proposes semantic meaning for `init()` that, as he described, means that it cannot apply to every type that implements `init()`. However, he also just said that he thinks that all types with `init()` should conform, so I guess I&#39;m confused which way that is.</div><div class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"></div><div class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">At base, you want a way of knowing if a type has `init()`. That sounds like reflection to me, not protocol conformance. For the record, I look forward to the day when AnyObject magic is removed; I assume it is coming eventually.</div></div></div></div><div class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><div class="gmail_extra gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><div class="gmail_quote gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><div class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"></div><div class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"></div><blockquote class="gmail_quote gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589HOEnZb gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><div class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589h5 gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><div class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><div class="gmail_quote gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><div class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">On Mon, 26 Dec 2016 at 11:14 Xiaodi Wu &lt;<a href="mailto:xiaodi.wu@gmail.com" class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg" target="_blank">xiaodi.wu@gmail.com</a>&gt; wrote:<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"></div><blockquote class="gmail_quote gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">On Mon, Dec 26, 2016 at 12:43 AM, Daniel Leping via swift-evolution <span class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&lt;<a href="mailto:swift-evolution@swift.org" class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg" target="_blank">swift-evolution@swift.org</a>&gt;</span> wrote:<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><div class="gmail_extra gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><div class="gmail_quote gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><blockquote class="gmail_quote gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">Thank you, Adam!</div></blockquote><div class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"></div><div class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">Wait, are you arguing for implicit conformance or not?</div></div></div></div><div class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><div class="gmail_extra gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><div class="gmail_quote gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><div class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"></div><blockquote class="gmail_quote gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005HOEnZb gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><div class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005h5 gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><div class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><div class="gmail_quote gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><div class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">On Mon, 26 Dec 2016 at 11:12 Adam Nemecek via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg" target="_blank">swift-evolution@swift.org</a>&gt; wrote:<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"></div><blockquote class="gmail_quote gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt; <span style="font-size:12.8px" class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">Swift doesn&#39;t do implicit conformance.  It always has to be declared</span><br style="font-size:12.8px" class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><span style="font-size:12.8px" class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">explicitly.  I&#39;m pretty sure Doug Gregor can explain why better than I</span><br style="font-size:12.8px" class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><span style="font-size:12.8px" class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">could.</span><div class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><span style="font-size:12.8px" class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"></span></div><div class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><span style="font-size:12.8px" class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"></span></div></div><div class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><div class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><span style="font-size:12.8px" class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">I don&#39;t think Daniel was arguing for implicit conformance, he&#39;s saying that if it makes sense for an object to have a default constructor, it makes sense for it to conform to the protocol which I agree with 100%.</span></div></div><div class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><div class="gmail_extra gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><div class="gmail_quote gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">On Sun, Dec 25, 2016 at 9:17 PM, Dave Abrahams via swift-evolution <span class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&lt;<a href="mailto:swift-evolution@swift.org" class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg" target="_blank">swift-evolution@swift.org</a>&gt;</span> wrote:<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><blockquote class="gmail_quote gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><span class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">on Sun Dec 25 2016, Daniel Leping &lt;<a href="mailto:swift-evolution@swift.org" class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg" target="_blank">swift-evolution@swift.org</a>&gt; wrote:<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt; You are right, usually it&#39;s required to implement a protocol which is not a<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt; good approach. The best is plain objects which can be used independently of<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt; ORM if needed (as DTOs, i.e.).<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt; I was thinking of DefaultConstructable as a protocol automatically applied<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt; to any class/struct having a default init, which is really logical for<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt; me.<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"></span>Swift doesn&#39;t do implicit conformance.  It always has to be declared<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">explicitly.  I&#39;m pretty sure Doug Gregor can explain why better than I<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">could.<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><div class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><div class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374m_2766821119499066179m_-4530764108705073068h5 gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt; On Mon, 26 Dec 2016 at 9:41 Xiaodi Wu &lt;<a href="mailto:xiaodi.wu@gmail.com" class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg" target="_blank">xiaodi.wu@gmail.com</a>&gt; wrote:<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; On Sun, Dec 25, 2016 at 10:50 PM, Daniel Leping<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; &lt;<a href="mailto:daniel@crossroadlabs.xyz" class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg" target="_blank">daniel@crossroadlabs.xyz</a>&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; wrote:<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; Ok, an example from ORM. You have an entity factory with a virtual (read,<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; overloadable in the subclasses) method populating the properties.<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; DefaultConstructable is a great choice here. Otherwise you will have to<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; force the users of your ORM to implement a certain protocol, which you most<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; probably would like to avoid.<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; Sorry--I&#39;m not very familiar with using Swift for ORM purposes. Why do you<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; want to avoid having your users conform to a certain protocol? Wouldn&#39;t the<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; users of your ORM have to conform to `DefaultConstructible` then? I&#39;m<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; looking at Swift ORMs, and all require users to conform to a protocol or<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; inherit from a base class, typically named `Model` or similar. From a quick<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; Google search:<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; <a href="https://vapor.github.io/documentation/fluent/model.html" rel="noreferrer" class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg" target="_blank">https://vapor.github.io/<wbr>documentation/fluent/model.<wbr>html</a><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; <a href="https://github.com/blitzagency/amigo-swift" rel="noreferrer" class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg" target="_blank">https://github.com/<wbr>blitzagency/amigo-swift</a><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; In general I think the best showcase is generic factories.<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; On Mon, 26 Dec 2016 at 9:02 Xiaodi Wu &lt;<a href="mailto:xiaodi.wu@gmail.com" class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg" target="_blank">xiaodi.wu@gmail.com</a>&gt; wrote:<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; On Sun, Dec 25, 2016 at 10:18 PM, Daniel Leping<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; &lt;<a href="mailto:daniel@crossroadlabs.xyz" class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg" target="_blank">daniel@crossroadlabs.xyz</a>&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; wrote:<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; Usually it&#39;s a generic function that needs to return a value from some<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; other function or a default value (zero) in a case of some conditions.<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; Optional value is an arguable solution in quite some scenarios. Afaik,<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; sometimes it can be used for optional resolution.<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; Right, I&#39;d agree that Optional is the idiomatic way to do it. Afaict,<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; there&#39;s not much you can do with a default value that you couldn&#39;t with<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; nil, unless you have some guarantee as to _what_ that default is; however,<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; I&#39;d expect that in every case that you can rely on a guarantee about a<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; default value which would be more useful than nil, it&#39;s going to require<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; more specific knowledge of your type than an all-encompassing<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; `DefaultConstructible` can provide.<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; Also, generic factories. Widely used in ORM solutions.<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; Can you elaborate on this? Why is Optional not a solution here?<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; As mentioned above, algorythmical stuff that requires Zero.<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; I&#39;m still not convinced there exist credible use cases that need to be<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; generic over both collections and floating point, for instance. In fact, in<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; my experience, there are few math-heavy algorithms where one can ignore<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; even the distinction between integers and binary floating point. By the<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; time you get down to matrix math, you start to run into difficulties that<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; require separate implementations for Float and Double.<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; On Mon, 26 Dec 2016 at 8:38 Xiaodi Wu &lt;<a href="mailto:xiaodi.wu@gmail.com" class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg" target="_blank">xiaodi.wu@gmail.com</a>&gt; wrote:<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; Can you give some examples of what you used this approach to do?<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; On Sun, Dec 25, 2016 at 9:49 PM, Daniel Leping<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; &lt;<a href="mailto:daniel@crossroadlabs.xyz" class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg" target="_blank">daniel@crossroadlabs.xyz</a>&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; wrote:<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; +1 to this approach. I remember I had to create it on my own for my<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; projects. Would be nice to have it out of the box.<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; On Mon, 26 Dec 2016 at 8:11 Adam Nemecek via swift-evolution &lt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; <a href="mailto:swift-evolution@swift.org" class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg" target="_blank">swift-evolution@swift.org</a>&gt; wrote:<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; &gt; Yes, those particular types have initializers that take no arguments.<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; That does not address my question. You merely restated your initial<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; observation that many types in Swift have implemented `init()`.<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; Right, it&#39;s an empirical argument.<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; &gt; I didn&#39;t think the value returned by `init()` was regarded as any sort<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; of zero--or even any sort of &quot;default.&quot; In fact, some types in Foundation<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; have a static property called `default` distinct from `init()`.<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; Let&#39;s not talk about those then. This would not apply to every single type<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; in existence, as I&#39;ve stated previously.<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; &gt; It gives you something different every time. How can this be squared<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; with your stated motivation regarding concepts of zero and concepts of<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; equality?<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; Due to the fact that it&#39;s a resource, not a value. As I&#39;ve stated above,<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; not all of this applies to types that are more resource-like.<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; &gt; Or, it&#39;s what you get because that&#39;s the most trivial possible string.<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; Quite simply, I do not think the designer of most types that implement<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; `init()` have paused to wonder whether the value that you get is the<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; identity element associated with the most useful and prominent operation<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; that can be performed on that type. I certainly never have.<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; This is an appeal to tradition.<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; &gt; The statement I wrote was in JavaScript, so I&#39;m not sure what you mean<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; by returning an optional. `[].reduce((a, b) =&gt; a + b)` results in an<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; error in JavaScript. In Swift, such a function may also be implemented with<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; a precondition that the array is not empty and would not return an optional.<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; I was talking about their analogous swift implementations.<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; &gt; Can you give an example of an algorithm dealing with tensors where you<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; would use a `DefaultConstructible` generic over all types that have<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; `init()`, as opposed to working with the existing `Integer`,<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; `FloatingPoint`, and other numerical protocols?<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; If it&#39;s implemented as either nested collections or numbers.<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; On Sun, Dec 25, 2016 at 6:00 PM, Xiaodi Wu &lt;<a href="mailto:xiaodi.wu@gmail.com" class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg" target="_blank">xiaodi.wu@gmail.com</a>&gt; wrote:<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; On Sun, Dec 25, 2016 at 7:30 PM, Adam Nemecek &lt;<a href="mailto:adamnemecek@gmail.com" class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg" target="_blank">adamnemecek@gmail.com</a>&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; wrote:<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; &gt;  Is it well settled, either in Swift or in C++/Rust/etc., that the value<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; returned by a default initializer/constructor is regarded as an identity<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; element or zero?<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; Int() == 0, String() == &quot;&quot; so to some extent by convention, a lot of types<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; have a default value as is.<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; Yes, those particular types have initializers that take no arguments. That<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; does not address my question. You merely restated your initial observation<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; that many types in Swift have implemented `init()`.<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; I didn&#39;t think the value returned by `init()` was regarded as any sort of<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; zero--or even any sort of &quot;default.&quot; In fact, some types in Foundation have<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; a static property called `default` distinct from `init()`. In Rust, the<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; Default trait requires a function called `default()`, which is documented<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; as being useful when you want &quot;some kind of default value, and don&#39;t<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; particularly care what it is.&quot;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt;<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; I was asking whether there&#39;s some understanding, of which I&#39;ve been<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"><br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg">&gt;&gt; unaware, that the result of `init()` (or the equivalent in other languages)<br class="gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435m_-6624483711025557005m_2849072433074184374gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676m_939594836185937589m_-7316109184252281435gmail_msg gmail-m_-86933029731195158m_3261830299967683124m_8724896498715535676gmail_msg gmail-m_-86933029731195158gmail_msg"></div></div></blockquote></div></div></div></blockquote></div></div></div></div></blockquote></div></div></div></blockquote></div></div></div></div></blockquote></div></div></div></blockquote></div></div></blockquote></div></div></div></blockquote></div></div>
</blockquote></div><br></div></div>