exclaim(func) (appends '!' to the result) and upper(func) (uppercases it). Apply BOTH to a greet() returning 'hi' so the result is 'HI!' — which requires knowing that the decorator closest to the function applies first. Get the stacking order right.greet()
'HI!'
upper ran on the raw result first, then exclaim appended.
@exclaim above @upper (upper is closer, runs first).
Trace: exclaim(upper(greet)).