Macro-based type providers for Scala (examples)