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