4 return f(<bold>1</bold>) (in foo((Int) -> Int))
8 	<bold>val x</bold> = foo(fun(n: Int) = n) (in test())
8 		val x = <bold>foo(fun(n: Int) = 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)</bold> = n) (in test())
8 								val x = foo(<bold>fun(n: Int)</bold> = n) (in test())
8 									val x = foo(fun(n: Int) = <bold>n</bold>) (in test())
8 										val x = foo(fun(<bold>n: Int</bold>) = n) (in test())
8 											[LAMBDA CALLS ARGUMENT #0] val x = foo(<bold>fun(n: Int)</bold> = 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))
