Optimization Controls and Optimization Hints

Yes, that is a good question.

The ability to specify at a more fine-grained level which expression wants to be annotated makes sense to me as a good argument for preferring expression level annotations.

let expression = f() + (inline g())

The block level annotation version is more verbose and forces spelling of the type.

let temp : SomeType
inline {
  temp = g()
}
let expression = f() + temp