<div dir="ltr"><div class="markdown-here-wrapper" style=""><blockquote style="margin:1.2em 0px;border-left-width:4px;border-left-style:solid;border-left-color:rgb(221,221,221);padding:0px 1em;color:rgb(119,119,119);quotes:none">
<p style="margin:0px 0px 1.2em!important">Okay but do we need public initializer at all?</p>
</blockquote>
<p style="margin:0px 0px 1.2em!important">I think it’s more elegant than factory methods. Plus:</p>
<blockquote style="margin:1.2em 0px;border-left-width:4px;border-left-style:solid;border-left-color:rgb(221,221,221);padding:0px 1em;color:rgb(119,119,119);quotes:none">
<p style="margin:0px 0px 1.2em!important">I see what you meant - COW optimized type like Foundation types.</p>
</blockquote>
<p style="margin:0px 0px 1.2em!important">Yes, it will be an implementation detail like in Foundation types. But here we need it for singleton pattern, not for COW.</p>
<blockquote style="margin:1.2em 0px;border-left-width:4px;border-left-style:solid;border-left-color:rgb(221,221,221);padding:0px 1em;color:rgb(119,119,119);quotes:none">
<p style="margin:0px 0px 1.2em!important">I’d put this into the alternative section so the core team can decide how to implement it (if this gets accepted).<br>I’ll prepare a second implementation gist for this suggestion. Feel free to update the proposal for both versions.<br>I’m to tired right now, I’ll do it tomorrow. It seems that we’re almost there. Maybe we can PR tomorrow so the review will kick off ASAP.</p>
</blockquote>
<p style="margin:0px 0px 1.2em!important">OK, I will prepare the proposal tomorrow morning and add both versions. Community will help during review period.</p>
<div title="MDH:PGRpdiBjbGFzcz0iZ21haWxfZXh0cmEiPiZndDsgT2theSBidXQgZG8gd2UgbmVlZCBwdWJsaWMg
aW5pdGlhbGl6ZXIgYXQgYWxsPzxicj48L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9leHRyYSI+PGJy
PjwvZGl2PjxkaXYgY2xhc3M9ImdtYWlsX2V4dHJhIj5JIHRoaW5rIGl0J3MgbW9yZSBlbGVnYW50
IHRoYW4gZmFjdG9yeSBtZXRob2RzLiBQbHVzOjwvZGl2PjxkaXYgY2xhc3M9ImdtYWlsX2V4dHJh
Ij48YnI+PC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfZXh0cmEiPiZndDsmbmJzcDtJIHNlZSB3aGF0
IHlvdSBtZWFudCAtIENPVyBvcHRpbWl6ZWQgdHlwZSBsaWtlIEZvdW5kYXRpb24gdHlwZXMuPC9k
aXY+PGRpdiBjbGFzcz0iZ21haWxfZXh0cmEiPjxicj48L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9l
eHRyYSI+WWVzLCBsaWtlIEZvdW5kYXRpb24gdHlwZXMuIEJ1dCBoZXJlIHdlIG5lZWQgaXQgZm9y
IHNpbmdsZXRvbiBwYXR0ZXJuLCBub3QgZm9yIENPVy48L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9l
eHRyYSI+PGJyPjwvZGl2PjxkaXYgY2xhc3M9ImdtYWlsX2V4dHJhIj48ZGl2IGNsYXNzPSJnbWFp
bF9leHRyYSI+Jmd0OyBJ4oCZZCBwdXQgdGhpcyBpbnRvIHRoZSBhbHRlcm5hdGl2ZSBzZWN0aW9u
IHNvIHRoZSBjb3JlIHRlYW0gY2FuIGRlY2lkZSBob3cgdG8gaW1wbGVtZW50IGl0IChpZiB0aGlz
IGdldHMgYWNjZXB0ZWQpLjwvZGl2PjxkaXYgY2xhc3M9ImdtYWlsX2V4dHJhIj4mZ3Q7IEnigJls
bCBwcmVwYXJlIGEgc2Vjb25kIGltcGxlbWVudGF0aW9uIGdpc3QgZm9yIHRoaXMgc3VnZ2VzdGlv
bi4gRmVlbCBmcmVlIHRvIHVwZGF0ZSB0aGUgcHJvcG9zYWwgZm9yIGJvdGggdmVyc2lvbnMuPC9k
aXY+PGRpdiBjbGFzcz0iZ21haWxfZXh0cmEiPiZndDsgSeKAmW0gdG8gdGlyZWQgcmlnaHQgbm93
LCBJ4oCZbGwgZG8gaXQgdG9tb3Jyb3cuIEl0IHNlZW1zIHRoYXQgd2XigJlyZSBhbG1vc3QgdGhl
cmUuIE1heWJlIHdlIGNhbiBQUiB0b21vcnJvdyBzbyB0aGUgcmV2aWV3IHdpbGwga2ljayBvZmYg
QVNBUC48YnI+PC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfZXh0cmEiPjxicj48L2Rpdj48ZGl2IGNs
YXNzPSJnbWFpbF9leHRyYSI+T0ssIEkgd2lsbCBwcmVwYXJlIHRoZSBwcm9wb3NhbCB0b21vcnJv
dyBtb3JuaW5nIGFuZCBhZGQgYm90aCB2ZXJzaW9ucy4gSXQgc2VlbXMgbGlrZSB3ZSd2ZSBmb3Vu
ZCBhbGwgcHJvYmxlbWF0aWMgcG9pbnRzIHdlIGNvdWxkLiBDb21tdW5pdHkgd2lsbCBoZWxwIGR1
cmluZyByZXZpZXcgcGVyaW9kLjwvZGl2PjwvZGl2Pg==" style="height:0;width:0;max-height:0;max-width:0;overflow:hidden;font-size:0em;padding:0;margin:0"></div></div></div>