<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="">Hi all,<div class=""><br class=""></div><div class="">We probably don't need additional syntax to achieve this. I just wrote a library&nbsp;which allows you to `(pass?.aLongOptionalChaining()?.to ?&lt;&nbsp;aFunctionTakingNonOptionalValues(:))?.ThenDoSomethingElse()` with `?&gt;` operator.</div><div class=""><br class=""></div><div class="">The&nbsp;<span style="white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">multiple parameters example:</span></div><div class=""><br class=""></div><div class="">(john.address, alice.address, 2.0) ?&gt; getPostageEstimate(source:destination:weight:)</div><div class=""><br class=""></div><div class=""><blockquote type="cite" class="">// Equivalent to</blockquote></div><div class=""><div class=""></div></div><blockquote type="cite" class=""><div class=""><div class="">john.address.flatMap { freshVar1 in</div><div class=""><span class="Apple-tab-span" style="white-space:pre">        </span>alice.address.flatMap { freshVar2 in</div><div class=""><span class="Apple-tab-span" style="white-space:pre">                </span>getPostageEstimate(source: freshVar1, destination: freshVar2, weight: 2.0)</div><div class=""><span class="Apple-tab-span" style="white-space:pre">        </span>}</div><div class="">}</div></div></blockquote><div class=""><br class=""></div><div class=""><br class=""></div><div class="">See more about the library:&nbsp;<a href="https://github.com/ddddxxx/ChainingFunction" class="">https://github.com/ddddxxx/ChainingFunction</a></div><div class=""><br class=""></div><div class="">--</div><div class="">Xander</div><div class=""><br class=""></div></body></html>