Experiments implementing type providers using Scala macros