Experimenting with macros in Scala