4 return f(<bold>1</bold>) (in foo((Int) -> Int))
8 	<bold>val x</bold> = foo(fun(n: Int): Int { return n }) (in test())
8 		val x = <bold>foo(fun(n: Int): Int { return n })</bold> (in test())
3 			<bold>fun foo(f: (Int) -> Int): Int</bold> {
4 				return <bold>f(1)</bold> (in foo((Int) -> Int))
4 					[LAMBDA IN] return <bold>f</bold>(1) (in foo((Int) -> Int))
3 						[LAMBDA IN] fun foo(<bold>f: (Int) -> Int</bold>): Int { (in foo((Int) -> Int))
8 							[LAMBDA IN] val x = foo(<bold>fun(n: Int): Int</bold> { return n }) (in test())
8 								val x = foo(<bold>fun(n: Int): Int</bold> { return n }) (in test())
8 									val x = foo(fun(n: Int): Int { return <bold>n</bold> }) (in test())
8 										val x = foo(fun(<bold>n: Int</bold>): Int { return n }) (in test())
8 											[LAMBDA CALLS ARGUMENT #0] val x = foo(<bold>fun(n: Int): Int</bold> { return n }) (in test())
3 												[LAMBDA CALLS ARGUMENT #0] fun foo(<bold>f: (Int) -> Int</bold>): Int { (in foo((Int) -> Int))
4 													return f(<bold>1</bold>) (in foo((Int) -> Int))
