A simple solution to the ambiguity problem of multiple ‘trailing’ closures is to simply require that they start on the same line as the preceding closure, after the }. e.g.: // This is a single call to when(::otherwise:) when (2 < 3) { doSomething() } otherwise { do S...