<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div><blockquote type="cite" class=""><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class=""><div class=""><font color="#000000" class="">…</font></div></div></div></div></blockquote><br class=""><blockquote type="cite" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class=""><div class="">Beyond that, it is counterproductive to your goals, because it means that people are far less likely to use to use optional returns. &nbsp;Doing so (which produces a safer result) would cause a double tax in syntax, and would be a confusing jumble. &nbsp;I can’t bring myself to do the whole example above, one line - just converting member lookup syntax but not callable syntax - would end up:</div><div class=""><br class=""></div><div class=""><span class="Apple-tab-span" style="white-space: pre;">        </span>let y = &nbsp;np^.arange?^(24)^.reshape^?(2, 3, 4)<br class=""></div><div class=""><br class=""></div><div class="">If you made DynamicCallable also return optional it would be:</div><div class=""><br class=""></div><div class=""><div class=""><span class="Apple-tab-span" style="white-space: pre;">        </span>let y = &nbsp;np^.arange?^(24)?^.reshape^?(2, 3, 4)!<br class=""></div><div class=""><br class=""></div><div class="">or something. &nbsp;This is such madness that no one would do that.</div></div></div></div></blockquote><div><br class=""></div>Optional is not the only swift error handling pattern. But I agree that making the dynamic fonction throw would also induce a readable cost due to the necessity to add try at each call site.</div><div><br class=""></div><div><br class=""></div></body></html>