<div dir="ltr">On Thu, Feb 4, 2016 at 3:48 AM, James Froggatt <span dir="ltr">&lt;<a href="mailto:conductator@ntlworld.com" target="_blank">conductator@ntlworld.com</a>&gt;</span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="auto"><div>CGSize represents vectors <i>and</i> sizes? And an explicit â€˜normalisation’ (a non-negative safety check) must be performed to work with CGSize as a size? This sounds awfully like a lack of type safety.</div></div></blockquote><div><br></div><div>That&#39;s an invariant. Enforcing y&gt;=x with a type system is just as hard as the halting problem.</div><div><br></div><div>-david</div><div><br></div><div><br></div></div></div></div>