<div dir="ltr">Honestly, I prefer old &#39;size(of:)&#39; and &#39;size(ofValue:)&#39; to new &#39;MemoryLayout&#39;.<div>I actually voted against that proposal. Without it, we wouldn&#39;t have problems we have now.</div><div>But it&#39;s obvious now that it&#39;s just a formality to complete the transition. Sadly.<br><div><br></div><div><div style="font-size:12.8px;direction:inherit">&gt; I see the obvious difference between the two in their names and signature, but what is the <b>need</b> for both?</div><div style="font-size:12.8px;direction:inherit">&gt; It looks duplicated for the most part, so some clarification would be nice.</div></div></div><div style="font-size:12.8px;direction:inherit"><br></div><div style="font-size:12.8px">Brandon, if &#39;T&#39; is a supertype, then &#39;size(ofValue:T)&#39; returns size of specific type of its parameter:</div><div style="font-size:12.8px">let anything: Any = UInt16(0)</div><div style="font-size:12.8px">size(ofValue: anything)  //=&gt; 2</div><div style="font-size:12.8px">Believe it or not, some people need that functionality :P</div></div>