notice that you had to repeat function signature on line 14
print("hello", func(msg string) { ... })
when signature is much larger it becomes very annoying. something like print("hello", Printer(msg) { ... })
would be perfect, but something something golang generics something?