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