FILE: lambda.kt public final fun foo(block: R|() -> kotlin/Unit|): R|kotlin/Unit| { } public final fun bar(block: R|() -> kotlin/String|): R|kotlin/Unit| { } public final fun itIs(block: R|(kotlin/String) -> kotlin/String|): R|kotlin/Unit| { } public final fun multipleArgs(block: R|(kotlin/String, kotlin/String) -> kotlin/String|): R|kotlin/Unit| { } public final fun main(): R|kotlin/Unit| { R|/foo|( = foo@fun (): R|kotlin/Unit| { String(This is test) } ) R|/bar|( = bar@fun (): R|kotlin/String| { ^ String(This is also test) } ) R|/itIs|( = itIs@fun (it: R|kotlin/String|): R|kotlin/String| { ^ (String(this is ), R|/it|, String( test)) } ) R|/multipleArgs|( = multipleArgs@fun (a: R|kotlin/String|, b: R|kotlin/String|): R|kotlin/String| { ^ (String(This is test of ), R|/a|, String(, ), R|/b|) } ) lval s: R|kotlin/String| = fun (): R|kotlin/String| { ^ String(OK) } .R|SubstitutionOverride|() lval f: R|() -> kotlin/String| = fun (): R|kotlin/String| { ^ String(OK) } lval ss: R|kotlin/String| = R|/f|.R|SubstitutionOverride|() lval empty: R|() -> kotlin/Unit| = fun (): R|kotlin/Unit| { ^ Unit } }