Not a fan of the syntax, but also appreciate it's not just
"string interpolation", it makes it very clear you're doing
something different. I like that it's easily expandable and not too
different from other languages that use r"Raw String here".
NOTE: String Template Processing is runtime,
not compile time, as Mark was thinking, as with being able to work
well with Freemarker templates – which may work, but not as I
Mark: 440: Record Patterns and 441: Pattern Matching for switch
– having used these a bit now I love them, in places they fit –
they work well for Algebraic Data Type style things, but should be
used in moderation tho.