Do we really need to support the second case at all ?
Yes :)
Instead of "Hello \{name()}" it can be written to something like () -> F."Hello \{name()}"
That deprives your callee of the opportunity to choose the formatter for you. Whoops, now the feature is way less expressive. One of the goals here is to enable APIs to accept TSs as parameters, and be in control of the when and how of formatting.
I think the choice between eager and lazy should be reflected in the syntax,
Oh great, two subtly different sets of semantics. Way to overspend the complexity budget.