<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Dec 7, 2017, at 11:29 AM, Letanyan Arumugam <<a href="mailto:letanyan.a@gmail.com" class="">letanyan.a@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><span style="font-family: SourceCodePro-Regular; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">I think a better approach would still be to try and get the author of the type to make the right choice in the first place.</span></div></blockquote></div><br class=""><div class="">After rereading the post you linked to last night (<a href="https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20171204/042015.html" class="">https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20171204/042015.html</a>), I think it could quickly get out of hand. It might be simple enough for DynamicMemberLookup, but once we get to the point of discussing DynamicCallable there are many more variations.</div><div class=""><br class=""></div><div class="">- Calls that return Void</div><div class="">- Calls that return an optional</div><div class="">- Calls that return an IUO</div><div class="">- Calls that throw</div><div class="">- etc.</div><div class=""><br class=""></div><div class="">I know this is a discussion about DynamicMemberLookup, but DynamicCallable is closely related and I imagine will end up following a similar pattern. How would you propose that DynamicCallable would be annotated in this fashion? There are a number of types of calls, and some are orthogonal so the combinations quickly add up. People will probably have similar concerns about failed call lookups as they do about member lookups.</div></body></html>