3 fun String.foo(<bold>p: String</bold>) { (in foo(String) on String)
4 	val v = f({ p1, p2 -> p2 }, <bold>p</bold>) (in foo(String) on String)
7 		fun f(lambda: (String, String) -> String, <bold>receiver: String</bold>): String { (in f((String, String) -> String, String))
8 			return lambda("a", <bold>receiver</bold>) (in f((String, String) -> String, String))
7 				[LAMBDA PARAMETER #1] fun f(<bold>lambda: (String, String) -> String</bold>, receiver: String): String { (in f((String, String) -> String, String))
4 					[LAMBDA PARAMETER #1] val v = f(<bold>{ p1, p2 -> p2 }</bold>, p) (in foo(String) on String)
4 						val v = f({ p1, <bold>p2</bold> -> p2 }, p) (in foo(String) on String)
4 							val v = f({ p1, p2 -> <bold>p2</bold> }, p) (in foo(String) on String)
4 								val v = f(<bold>{ p1, p2 -> p2 }</bold>, p) (in foo(String) on String)
4 									[LAMBDA CALLS] val v = f(<bold>{ p1, p2 -> p2 }</bold>, p) (in foo(String) on String)
7 										[LAMBDA CALLS] fun f(<bold>lambda: (String, String) -> String</bold>, receiver: String): String { (in f((String, String) -> String, String))
8 											return <bold>lambda("a", receiver)</bold> (in f((String, String) -> String, String))
7 												<bold>fun f(lambda: (String, String) -> String, receiver: String): String</bold> {
4 													val v = <bold>f({ p1, p2 -> p2 }, p)</bold> (in foo(String) on String)
4 														<bold>val v</bold> = f({ p1, p2 -> p2 }, p) (in foo(String) on String)
