<div dir="ltr"><div dir="ltr">On Wed, Nov 6, 2019 at 12:44 PM Sven Barth via fpc-pascal <<a href="mailto:fpc-pascal@lists.freepascal.org">fpc-pascal@lists.freepascal.org</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div dir="auto">Pascal has a strong type safety, thus something like the if-expression won't be used/allowed to weaken that. </div><div dir="auto"><br></div><div dir="auto">If that means that some things can't be implemented in generics the "easy" way, then so be it.</div></div></blockquote><div><br></div><div>I agree that Pascal has strong type safety.</div><div><br></div><div>IMO conditional branching based on compile-time constant evaluation, that cannot fail, does not do anything resembling weakening it, however. </div><div><br></div><div>It strengthens it, and has no downsides, because it's verified by the compiler.</div><div><br></div><div>Encouraging typecasting (which cares only about the sizes of the types involved, nothing else) at the programmer level is far more error-prone in a variety of ways.</div></div></div>